日期:2014-05-16  浏览次数:20361 次

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 } 
?