本文主要讲述如下几个内容:

1、JSON定义以及JSON的特性

2、如何在JavaScript中解释JSON格式数据

3、如何在Java代码中使用JSON(讲对象转换成JSON对象以及解释JSON字符串)

一、JSON

   w3c上对JSON有比较详细的介绍,链接http://www.w3school.com.cn/json/index.asp.下面仅讲述重要的几点。

Json是 javascript 对象表示法(JavaScript Object Notation),是轻量级的文本数据交换格式,具有层级结构(值中存在值), 数据可使用 AJAX 进行传输,独立于语言,具有自我描述性,比XML更小更快更容易解析。JSON格式字符串转化为JavaScript对象无需解析器, JSON 使用 JavaScript 语法,使用JavaScript的eval()函数可生成JavaScript对象。

下面给出JSON格式的数据,非常清晰,无需多做解释,语法请阅读官方文档。

标准JSON格式数据



{ "firstName":"John" , "lastName":"Doe" }



标准JSON格式数组数据



{
"employees": [
{ "firstName":"John" , "lastName":"Doe" },
{ "firstName":"Anna" , "lastName":"Smith" },
{ "firstName":"Peter" , "lastName":"Jones" }
]
}
 或直接赋值给变量: 
   
  
var employees = [
{ "firstName":"Bill" , "lastName":"Gates" },
{ "firstName":"George" , "lastName":"Bush" },
{ "firstName":"Thomas" , "lastName": "Carter" }
];



二、在JavaScript中解释JSON数据

JSON 最常见的用法之一,是从 web 服务器上读取 JSON 数据(作为文件或作为 HttpRequest),将 JSON 数据转换为 JavaScript 对象,然后在网页中使用该数据。

下面直接给出代码示例:




[html] view plain copy


print

?


1. <pre name="code" class="html"><html>
2. <head>
3. </head>
4. <script type="text/javascript">
5. function  testjson(){  
6.   
7. //Json格式的字符串  
8. var txt = '{ "employees" : ['
9. '{ "firstName":"Bill" , "lastName":"Gates" },' +  
10. '{ "firstName":"George" , "lastName":"Bush" },' +  
11. '{ "firstName":"Thomas" , "lastName":"Carter" } ]}';  
12.   
13. //使用eval函数转换成JSON对象  
14. //eval() 函数使用的是 JavaScript 编译器,可解析 JSON 文本,然后生成 JavaScript 对象。必须把文本包围在括号中,这样才能避免语法错误:  
15. var obj = eval
16.     + ")");  
17. //通过对象名,然后根据数组下标以及属性名取值  
18. alert(obj.employees[0].firstName);  
19. }  
20.   
21. </script>
22. <body>
23. <a href="" onclick="testjson()">Click me!</a>
24. </body>
25. </html>


<pre name="code" class="html"><html>
<head>
</head>
<script type="text/javascript">
function  testjson(){

//Json格式的字符串
var txt = '{ "employees" : [' +
'{ "firstName":"Bill" , "lastName":"Gates" },' +
'{ "firstName":"George" , "lastName":"Bush" },' +
'{ "firstName":"Thomas" , "lastName":"Carter" } ]}';

//使用eval函数转换成JSON对象
//eval() 函数使用的是 JavaScript 编译器,可解析 JSON 文本,然后生成 JavaScript 对象。必须把文本包围在括号中,这样才能避免语法错误:
var obj = eval("(" + txt 
    + ")");
//通过对象名,然后根据数组下标以及属性名取值
alert(obj.employees[0].firstName);
}

</script>
<body>
    <a href="" οnclick="testjson()">Click me!</a>
</body>
</html>




直接保存为后缀名为html或htm的文件,用浏览器打开,就可以测试运行结果了。

三、Java操作JSON

1、Josn-lib

JSON-lib这个Java类包用于把bean,map和XML转换成JSON并能够把JSON转回成bean和DynaBean。

下载地址:http://json-lib.sourceforge.NET/

还要需要的第3方包:

rg.apache.commons(3.2以上版本)

org.apache.oronet.sf.

ezmorph(ezmorph-1.0.4.jar)

nu.xom

下面直接给出代码:



[java] view plain copy


print

?


1. package
2.   
3. import
4. import
5. import
6. import
7.   
8. import
9.   
10. import
11. import
12. import
13.   
14. public class
15. public static void
16.   
17. // 1. List
18. boolean[] booleanArray = new boolean[] { false, false, true, false
19.         JSONArray ja = JSONArray.fromObject(booleanArray);  
20.         System.err.println(ja);  
21.   
22. new
23. "first");  
24. "second");  
25.         JSONArray jsonArray2 = JSONArray.fromObject(list);  
26.         System.out.println(jsonArray2);  
27.   
28. "['json','is','easy']");  
29.         System.out.println(jsonArray3);  
30.   
31. // 2. Map
32. new
33. "name", "json");  
34. "bool", Boolean.TRUE);  
35. "int", new Integer(1));  
36. "arr", new String[] { "a", "b"
37. "func", "function(i){ return this.arr[i]; }");  
38.         JSONObject json = JSONObject.fromObject(map);  
39.         System.out.println(json);  
40.   
41. // 3. JSON Bean
42. new JsonBean("kevin",  
43. "Male"));  
44.         System.out.println(jsonObject);  
45.   
46. // 4. Json Beans
47. new
48. new JsonBean("kevin", "Male");  
49. new JsonBean("maimai", "Femal");  
50.         lbs.add(j1);  
51.         lbs.add(j2);  
52.         JSONArray ja_beans = JSONArray.fromObject(lbs);  
53.         System.out.println(ja_beans);  
54.   
55.     }  
56. }

package com.doyeden.json;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import org.apache.commons.beanutils.PropertyUtils;

import net.sf.json.JSONArray;
import net.sf.json.JSONObject;
import net.sf.json.xml.XMLSerializer;

public class TestJson {
    public static void main(String[] args) {

        // 1. List
        boolean[] booleanArray = new boolean[] { false, false, true, false };
        JSONArray ja = JSONArray.fromObject(booleanArray);
        System.err.println(ja);

        List list = new ArrayList();
        list.add("first");
        list.add("second");
        JSONArray jsonArray2 = JSONArray.fromObject(list);
        System.out.println(jsonArray2);

        JSONArray jsonArray3 = JSONArray.fromObject("['json','is','easy']");
        System.out.println(jsonArray3);

        // 2. Map
        Map map = new HashMap();
        map.put("name", "json");
        map.put("bool", Boolean.TRUE);
        map.put("int", new Integer(1));
        map.put("arr", new String[] { "a", "b" });
        map.put("func", "function(i){ return this.arr[i]; }");
        JSONObject json = JSONObject.fromObject(map);
        System.out.println(json);

        // 3. JSON Bean
        JSONObject jsonObject = JSONObject.fromObject(new JsonBean("kevin",
                "Male"));
        System.out.println(jsonObject);

        // 4. Json Beans
        List<JsonBean> lbs = new ArrayList<JsonBean>();
        JsonBean j1 = new JsonBean("kevin", "Male");
        JsonBean j2 = new JsonBean("maimai", "Femal");
        lbs.add(j1);
        lbs.add(j2);
        JSONArray ja_beans = JSONArray.fromObject(lbs);
        System.out.println(ja_beans);

    }
}

下面的类的get和set方法必须有才可以



[java] view plain copy

print 
     ? 
     
   
1. package
2.   
3. public class
4. private
5. private
6.       
7. public
8. super();  
9.     }  
10. public
11. super();  
12. this.name = name;  
13. this.sex = sex;  
14.     }  
15. public
16. return
17.     }  
18. public void
19. this.name = name;  
20.     }  
21. public
22. return
23.     }  
24. public void
25. this.sex = sex;  
26.     }  
27.       
28. }


package com.doyeden.json;

public class JsonBean {
    private String name;
    private String sex;
    
    public JsonBean() {
        super();
    }
    public JsonBean(String name, String sex) {
        super();
        this.name = name;
        this.sex = sex;
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public String getSex() {
        return sex;
    }
    public void setSex(String sex) {
        this.sex = sex;
    }
    
}

程序运行结果:



[java] view plain copy


print

?


1. [false,false,true,false]  
2. ["first","second"]  
3. ["json","is","easy"]  
4. {"arr":["a","b"],"int":1,"name":"json","func":function(i){ return this.arr[i]; },"bool":true}  
5. {"name":"kevin","sex":"Male"}  
6. [{"name":"kevin","sex":"Male"},{"name":"maimai","sex":"Femal"}]


[false,false,true,false]
["first","second"]
["json","is","easy"]
{"arr":["a","b"],"int":1,"name":"json","func":function(i){ return this.arr[i]; },"bool":true}
{"name":"kevin","sex":"Male"}
[{"name":"kevin","sex":"Male"},{"name":"maimai","sex":"Femal"}]

2、 目前比较流行的fast-json解析 ,更多fast-json请自行查阅文档


阿里巴巴FastJson是一个Json处理工具包,包括“序列化”和“反序列化”两部分,它具备如下特征:
速度最快,测试表明,fastjson具有极快的性能,超越任其他的Java Json parser。包括自称最快的JackJson;
功能强大,完全支持java Bean、集合、Map、日期、Enum,支持范型,支持自省;无依赖,能够直接运行在

Java SE 5.0以上版本;支持Android;开源 (Apache 2.0)

Fastjson API入口类是com.alibaba.fastjson.JSON,常用的序列化操作都可以在JSON类上的静态方法直接完成。
public static final Object parse(String text); // 把JSON文本parse为JSONObject或者JSONArray 
public static final JSONObject parseObject(String text); // 把JSON文本parse成JSONObject    
public static final  T parseObject(String text, Class clazz); // 把JSON文本parse为JavaBean 
public static final JSONArray parseArray(String text); // 把JSON文本parse成JSONArray 
public static final  List parseArray(String text, Class clazz); //把JSON文本parse成JavaBean集合 
public static final String toJSONString(Object object); // 将JavaBean序列化为JSON文本 
public static final String toJSONString(Object object, boolean prettyFormat); // 将JavaBean序列化为带格式的JSON文本 
public static final Object toJSON(Object javaObject); 将JavaBean转换为JSONObject或者JSONArray。  实例代码:

(需要导入fastjson的jar包)



[java] view plain copy


print

?


1. package
2.   
3. import
4. import
5.   
6. import
7. import
8.   
9. public class
10. public static void
11.           
12. //1 parse bean to json text
13. new JsonBean("kevin","Male");  
14.         System.out.println(JSON.toJSONString(jb));  
15.           
16. //2 parse list to json array
17. new
18. new JsonBean("kevin","Male");  
19. new JsonBean("maimai","Female");  
20.         ljs.add(jb2);  
21.         ljs.add(jb1);  
22.         System.out.println(JSON.toJSONString(ljs));  
23.           
24. //3 parse json text to bean
25. "{\"name\":\"greg\",\"sex\":\"Male\"}";  
26.         JSON jO=JSON.parseObject(s);  
27. class);  
28.         System.out.println(j.getName());  
29.           
30.     }  
31. }


package com.doyeden.json.fastjson;

import java.util.ArrayList;
import java.util.List;

import com.alibaba.fastjson.JSON;
import com.doyeden.json.JsonBean;

public class Test {
    public static void main(String[] args) {
        
        //1 parse bean to json text
        JsonBean jb=new JsonBean("kevin","Male");
        System.out.println(JSON.toJSONString(jb));
        
        //2 parse list to json array
        List<JsonBean> ljs=new ArrayList<JsonBean>();
        JsonBean jb1=new JsonBean("kevin","Male");
        JsonBean jb2=new JsonBean("maimai","Female");
        ljs.add(jb2);
        ljs.add(jb1);
        System.out.println(JSON.toJSONString(ljs));
        
        //3 parse json text to bean
        String s="{\"name\":\"greg\",\"sex\":\"Male\"}";
        JSON jO=JSON.parseObject(s);
        JsonBean j=JSON.toJavaObject(jO, JsonBean.class);
        System.out.println(j.getName());
        
    }
}

结果:

{"name":"kevin","sex":"Male"}
[{"name":"maimai","sex":"Female"},{"name":"kevin","sex":"Male"}]
greg

3、其他方式,例如 org-lib等,使用方法跟上述两种方式非常相似。就不做更多介绍了。个人推荐还是使用fast-json。



总结:本文讲述了JSON格式数据以及如何在JavaScript和Java代码中操作JSON格式数据,可以发现,因为JSON自解释性,轻量级,体积小,跨平台等特点,JSON格式数据非常适合作为和后端数据交互的格式。JavaScript本身就可以解释JSON,这样就省去了很多第三方库,java中,关于讲JSON转换成Java对象以及讲Java对象和对象数组转换成JSON格式数据的类库其实有很多,但是目前来说最快的是fastjson.




转自:


本文主要讲述如下几个内容:

1、JSON定义以及JSON的特性

2、如何在JavaScript中解释JSON格式数据

3、如何在Java代码中使用JSON(讲对象转换成JSON对象以及解释JSON字符串)

一、JSON

   w3c上对JSON有比较详细的介绍,链接http://www.w3school.com.cn/json/index.asp.下面仅讲述重要的几点。

Json是 javascript 对象表示法(JavaScript Object Notation),是轻量级的文本数据交换格式,具有层级结构(值中存在值), 数据可使用 AJAX 进行传输,独立于语言,具有自我描述性,比XML更小更快更容易解析。JSON格式字符串转化为JavaScript对象无需解析器, JSON 使用 JavaScript 语法,使用JavaScript的eval()函数可生成JavaScript对象。

下面给出JSON格式的数据,非常清晰,无需多做解释,语法请阅读官方文档。

标准JSON格式数据




{ "firstName":"John" , "lastName":"Doe" }



标准JSON格式数组数据


{
"employees": [
{ "firstName":"John" , "lastName":"Doe" },
{ "firstName":"Anna" , "lastName":"Smith" },
{ "firstName":"Peter" , "lastName":"Jones" }
]
}
 或直接赋值给变量:

var employees = [
{ "firstName":"Bill" , "lastName":"Gates" },
{ "firstName":"George" , "lastName":"Bush" },
{ "firstName":"Thomas" , "lastName": "Carter" }
];


二、在JavaScript中解释JSON数据

JSON 最常见的用法之一,是从 web 服务器上读取 JSON 数据(作为文件或作为 HttpRequest),将 JSON 数据转换为 JavaScript 对象,然后在网页中使用该数据。

下面直接给出代码示例:




[html] view plain copy


print

?


1. <pre name="code" class="html"><html>
2. <head>
3. </head>
4. <script type="text/javascript">
5. function  testjson(){  
6.   
7. //Json格式的字符串  
8. var txt = '{ "employees" : ['
9. '{ "firstName":"Bill" , "lastName":"Gates" },' +  
10. '{ "firstName":"George" , "lastName":"Bush" },' +  
11. '{ "firstName":"Thomas" , "lastName":"Carter" } ]}';  
12.   
13. //使用eval函数转换成JSON对象  
14. //eval() 函数使用的是 JavaScript 编译器,可解析 JSON 文本,然后生成 JavaScript 对象。必须把文本包围在括号中,这样才能避免语法错误:  
15. var obj = eval
16.     + ")");  
17. //通过对象名,然后根据数组下标以及属性名取值  
18. alert(obj.employees[0].firstName);  
19. }  
20.   
21. </script>
22. <body>
23. <a href="" onclick="testjson()">Click me!</a>
24. </body>
25. </html>


<pre name="code" class="html"><html>
<head>
</head>
<script type="text/javascript">
function  testjson(){

//Json格式的字符串
var txt = '{ "employees" : [' +
'{ "firstName":"Bill" , "lastName":"Gates" },' +
'{ "firstName":"George" , "lastName":"Bush" },' +
'{ "firstName":"Thomas" , "lastName":"Carter" } ]}';

//使用eval函数转换成JSON对象
//eval() 函数使用的是 JavaScript 编译器,可解析 JSON 文本,然后生成 JavaScript 对象。必须把文本包围在括号中,这样才能避免语法错误:
var obj = eval("(" + txt 
    + ")");
//通过对象名,然后根据数组下标以及属性名取值
alert(obj.employees[0].firstName);
}

</script>
<body>
    <a href="" οnclick="testjson()">Click me!</a>
</body>
</html>




直接保存为后缀名为html或htm的文件,用浏览器打开,就可以测试运行结果了。

三、Java操作JSON

1、Josn-lib

JSON-lib这个Java类包用于把bean,map和XML转换成JSON并能够把JSON转回成bean和DynaBean。

下载地址:http://json-lib.sourceforge.NET/

还要需要的第3方包:

rg.apache.commons(3.2以上版本)

org.apache.oronet.sf.

ezmorph(ezmorph-1.0.4.jar)

nu.xom

下面直接给出代码:



[java] view plain copy


print

 
     ? 
     
   
1. package
2.   
3. import
4. import
5. import
6. import
7.   
8. import
9.   
10. import
11. import
12. import
13.   
14. public class
15. public static void
16.   
17. // 1. List
18. boolean[] booleanArray = new boolean[] { false, false, true, false
19.         JSONArray ja = JSONArray.fromObject(booleanArray);  
20.         System.err.println(ja);  
21.   
22. new
23. "first");  
24. "second");  
25.         JSONArray jsonArray2 = JSONArray.fromObject(list);  
26.         System.out.println(jsonArray2);  
27.   
28. "['json','is','easy']");  
29.         System.out.println(jsonArray3);  
30.   
31. // 2. Map
32. new
33. "name", "json");  
34. "bool", Boolean.TRUE);  
35. "int", new Integer(1));  
36. "arr", new String[] { "a", "b"
37. "func", "function(i){ return this.arr[i]; }");  
38.         JSONObject json = JSONObject.fromObject(map);  
39.         System.out.println(json);  
40.   
41. // 3. JSON Bean
42. new JsonBean("kevin",  
43. "Male"));  
44.         System.out.println(jsonObject);  
45.   
46. // 4. Json Beans
47. new
48. new JsonBean("kevin", "Male");  
49. new JsonBean("maimai", "Femal");  
50.         lbs.add(j1);  
51.         lbs.add(j2);  
52.         JSONArray ja_beans = JSONArray.fromObject(lbs);  
53.         System.out.println(ja_beans);  
54.   
55.     }  
56. }


package com.doyeden.json;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import org.apache.commons.beanutils.PropertyUtils;

import net.sf.json.JSONArray;
import net.sf.json.JSONObject;
import net.sf.json.xml.XMLSerializer;

public class TestJson {
    public static void main(String[] args) {

        // 1. List
        boolean[] booleanArray = new boolean[] { false, false, true, false };
        JSONArray ja = JSONArray.fromObject(booleanArray);
        System.err.println(ja);

        List list = new ArrayList();
        list.add("first");
        list.add("second");
        JSONArray jsonArray2 = JSONArray.fromObject(list);
        System.out.println(jsonArray2);

        JSONArray jsonArray3 = JSONArray.fromObject("['json','is','easy']");
        System.out.println(jsonArray3);

        // 2. Map
        Map map = new HashMap();
        map.put("name", "json");
        map.put("bool", Boolean.TRUE);
        map.put("int", new Integer(1));
        map.put("arr", new String[] { "a", "b" });
        map.put("func", "function(i){ return this.arr[i]; }");
        JSONObject json = JSONObject.fromObject(map);
        System.out.println(json);

        // 3. JSON Bean
        JSONObject jsonObject = JSONObject.fromObject(new JsonBean("kevin",
                "Male"));
        System.out.println(jsonObject);

        // 4. Json Beans
        List<JsonBean> lbs = new ArrayList<JsonBean>();
        JsonBean j1 = new JsonBean("kevin", "Male");
        JsonBean j2 = new JsonBean("maimai", "Femal");
        lbs.add(j1);
        lbs.add(j2);
        JSONArray ja_beans = JSONArray.fromObject(lbs);
        System.out.println(ja_beans);

    }
}

下面的类的get和set方法必须有才可以



[java] view plain copy


print

?


1. package
2.   
3. public class
4. private
5. private
6.       
7. public
8. super();  
9.     }  
10. public
11. super();  
12. this.name = name;  
13. this.sex = sex;  
14.     }  
15. public
16. return
17.     }  
18. public void
19. this.name = name;  
20.     }  
21. public
22. return
23.     }  
24. public void
25. this.sex = sex;  
26.     }  
27.       
28. }



package com.doyeden.json;

public class JsonBean {
    private String name;
    private String sex;
    
    public JsonBean() {
        super();
    }
    public JsonBean(String name, String sex) {
        super();
        this.name = name;
        this.sex = sex;
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public String getSex() {
        return sex;
    }
    public void setSex(String sex) {
        this.sex = sex;
    }
    
}

程序运行结果:



[java] view plain copy


print

?


1. [false,false,true,false]  
2. ["first","second"]  
3. ["json","is","easy"]  
4. {"arr":["a","b"],"int":1,"name":"json","func":function(i){ return this.arr[i]; },"bool":true}  
5. {"name":"kevin","sex":"Male"}  
6. [{"name":"kevin","sex":"Male"},{"name":"maimai","sex":"Femal"}]


[false,false,true,false]
["first","second"]
["json","is","easy"]
{"arr":["a","b"],"int":1,"name":"json","func":function(i){ return this.arr[i]; },"bool":true}
{"name":"kevin","sex":"Male"}
[{"name":"kevin","sex":"Male"},{"name":"maimai","sex":"Femal"}]

2、 目前比较流行的fast-json解析 ,更多fast-json请自行查阅文档


阿里巴巴FastJson是一个Json处理工具包,包括“序列化”和“反序列化”两部分,它具备如下特征:
速度最快,测试表明,fastjson具有极快的性能,超越任其他的Java Json parser。包括自称最快的JackJson;
功能强大,完全支持java Bean、集合、Map、日期、Enum,支持范型,支持自省;无依赖,能够直接运行在

Java SE 5.0以上版本;支持Android;开源 (Apache 2.0)
Fastjson API入口类是com.alibaba.fastjson.JSON,常用的序列化操作都可以在JSON类上的静态方法直接完成。
public static final Object parse(String text); // 把JSON文本parse为JSONObject或者JSONArray 
public static final JSONObject parseObject(String text); // 把JSON文本parse成JSONObject    
public static final  T parseObject(String text, Class clazz); // 把JSON文本parse为JavaBean 
public static final JSONArray parseArray(String text); // 把JSON文本parse成JSONArray 
public static final  List parseArray(String text, Class clazz); //把JSON文本parse成JavaBean集合 
public static final String toJSONString(Object object); // 将JavaBean序列化为JSON文本 
public static final String toJSONString(Object object, boolean prettyFormat); // 将JavaBean序列化为带格式的JSON文本 
public static final Object toJSON(Object javaObject); 将JavaBean转换为JSONObject或者JSONArray。  实例代码:

(需要导入fastjson的jar包)



[java] view plain copy


print

?


1. package
2.   
3. import
4. import
5.   
6. import
7. import
8.   
9. public class
10. public static void
11.           
12. //1 parse bean to json text
13. new JsonBean("kevin","Male");  
14.         System.out.println(JSON.toJSONString(jb));  
15.           
16. //2 parse list to json array
17. new
18. new JsonBean("kevin","Male");  
19. new JsonBean("maimai","Female");  
20.         ljs.add(jb2);  
21.         ljs.add(jb1);  
22.         System.out.println(JSON.toJSONString(ljs));  
23.           
24. //3 parse json text to bean
25. "{\"name\":\"greg\",\"sex\":\"Male\"}";  
26.         JSON jO=JSON.parseObject(s);  
27. class);  
28.         System.out.println(j.getName());  
29.           
30.     }  
31. }


package com.doyeden.json.fastjson;

import java.util.ArrayList;
import java.util.List;

import com.alibaba.fastjson.JSON;
import com.doyeden.json.JsonBean;

public class Test {
    public static void main(String[] args) {
        
        //1 parse bean to json text
        JsonBean jb=new JsonBean("kevin","Male");
        System.out.println(JSON.toJSONString(jb));
        
        //2 parse list to json array
        List<JsonBean> ljs=new ArrayList<JsonBean>();
        JsonBean jb1=new JsonBean("kevin","Male");
        JsonBean jb2=new JsonBean("maimai","Female");
        ljs.add(jb2);
        ljs.add(jb1);
        System.out.println(JSON.toJSONString(ljs));
        
        //3 parse json text to bean
        String s="{\"name\":\"greg\",\"sex\":\"Male\"}";
        JSON jO=JSON.parseObject(s);
        JsonBean j=JSON.toJavaObject(jO, JsonBean.class);
        System.out.println(j.getName());
        
    }
}

结果:

{"name":"kevin","sex":"Male"}
[{"name":"maimai","sex":"Female"},{"name":"kevin","sex":"Male"}]
greg

3、其他方式,例如 org-lib等,使用方法跟上述两种方式非常相似。就不做更多介绍了。个人推荐还是使用fast-json。



总结:本文讲述了JSON格式数据以及如何在JavaScript和Java代码中操作JSON格式数据,可以发现,因为JSON自解释性,轻量级,体积小,跨平台等特点,JSON格式数据非常适合作为和后端数据交互的格式。JavaScript本身就可以解释JSON,这样就省去了很多第三方库,java中,关于讲JSON转换成Java对象以及讲Java对象和对象数组转换成JSON格式数据的类库其实有很多,但是目前来说最快的是fastjson.