JSON学习心得

好笑的是搞了一年开发都从来没用过这个东西······学无止尽啊!

JSON 即 JavaScript Object Natation,它是一种轻量级的数据交换格式,非常适合于服务器与 JavaScript 的交互。

首先是JSON的数据格式:

一般来讲JSON只有两种数据形态,即大括号“{}”和中括号“[]”。

大括号可以认为是一个对象的数据,例如person1{name:elliot,age:24,company:XXX},即表示一个对象的界限,其中包括用逗号分隔的多个键值对(属性名:属性

值);

中括号可以认为是存放对象的数组,例如[person1,person2,person3······],即作为对象数组形式属性的界限,其中包括多个用逗号隔开的值(也可以是复杂结构的

值);

一般用到的JSON的数据结构就这些,下来讲下基本的用法:

我们首先要下载JSON中对JS的支持文件json.js以及对JSON对于JAVA支持的实现JAR文件;

json.js中提供了JSON对象,它主要包括两个函数,用于JSON字符串和对象间的转换:

  //这是JAVA<-->JS基本的数据解析接口
1
      var  o  =  JSON.parse(jsonStr); // 将JSON字符串转化成Javascript对象
2      var  s  =  JSON.stringify(obj);  // 将Javascript对象转化成JSON字符串

下面是个页面端的JS代码

 1  function  getPersonObject(){
 2       return   new Person( "elliot " "man " );
 3  }

  function Person(name, sex){
 4        this .name  =  name;
 5       this .sex = sex;
 6  }
 
 
function sayHelloToPerson(){
 7       var person =  getPersonObject();
   //将JAVASCRIPT对象转换为JSON字符串供JAVA服务端调用
 8       var personAsJSON  =  JSON.stringify(person);
 9      alert("Hello "+ personAsJSON );
10  }

 
2、服务器端JAVA代码

 1  import  org.json.JSONException;
 2  import  org.json.JSONObject;
 3  // 首先需要定义一个JSON对象
 4  JSONObject jsonObject  =   null ;
 5  String json  =  readJSONStringFromRequestBody(request);//获取一个request传来的json字符串
 6  try {
 7      jsonObject  =   new  JSONObject(json);
 8  } catch (JSONException e){
 9      System.out.println( " JSONException " );
10      e.printStackTrace();
11  }
12  String name =   "" ;
13  String  sex =   "" ;
14  try  {
15      name =  jsonObject.getString( " name " );
16      sex =  jsonObject.getString( " sex " );
17  catch  (JSONException e1) {
18      System.out.println( " JSONException " );
19      e1.printStackTrace();
20 

这就是简单的JSON用法,它还有一些高级的字符转换之类的今天就不写了···

转载于:https://www.cnblogs.com/yanzhexian/archive/2010/09/16/1828262.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值