天天看點

json-lib的應用json-lib的應用

json-lib的應用

一、概述

apache提供的json-lib小工具,它可以友善的使用Java語言來建立JSON字元串。也可以把JavaBean轉換成JSON字元串。

二、核心類

在json-lib中隻有兩個核心類:

1, JSONObject;

2,JSONArray;

三、JSONObject

JSONObject類本身是一個Map

用法1:當map用

 Java Code 

1

2

3

4

5

6

7

JSONObject jo =  new JSONObject();

jo.put( "name",  "zhangSan");

jo.put( "age",  "18");

jo.put( "sex",  "male");

System.out.println(jo.toString());

結果: { "name":  "zhangSan",  "age":  "18",  "sex":  "male"}

用法2:把Javabean轉化成json

 Java Code 

1

2

3

4

Person person =  new Person( "liSi",  18,  "female");

JSONObject jo = JSONObject.fromObject(person);

System.out.println(jo.toString());

用法3:把map轉換成json

 Java Code 

1

2

3

4

5

6

7

8

Map map =  new HashMap();

map.put( "name",  "wangWu");

map.put( "age",  "81");

map.put( "sex",  "male");

JSONObject jo = JSONObject.fromObject(map);

System.out.println(jo.toString());

用法4:把xml轉換成json,需要導入xom-1.1.jar

 Java Code 

1

2

3

4

5

String xml =  "<person><name>zhaoLiu</name><age>59</age><sex>female</sex></person>";

XMLSerializer serial =  new XMLSerializer();

JSONObject jo = (JSONObject)serial.read(xml);

System.out.println(jo.toString());

四、JSONArray

JSONArray本身是一個List

用法1:當成List用

 Java Code 

1

2

3

4

5

6

7

8

JSONArray ja =  new JSONArray();

Person p1 =  new Person( "zhangSan",  18,  "male");

Person p2 =  new Person( "liSi",  23,  "female");

ja.add(p1);

ja.add(p2);

System.out.println(ja.toString());

用法2:把list轉換成JSONArray

 Java Code 

1

2

3

4

5

6

7

8

9

10

Person p1 =  new Person( "zhangSan",  18,  "male");

Person p2 =  new Person( "liSi",  23,  "female");

List<Person> list =  new ArrayList<Person>();

list.add(p1);

list.add(p2);

JSONArray ja = JSONArray.fromObject(list);

System.out.println(ja.toString());

用法3:把數組轉換成JSONArray

 Java Code 

1

2

3

4

5

6

7

8

Person p1 =  new Person( "zhangSan",  18,  "male");

Person p2 =  new Person( "liSi",  23,  "female");

Person[] persons = {p1, p2};

JSONArray ja = JSONArray.fromObject(persons);

System.out.println(ja.toString());

五、拓展

伺服器發送過來JSON字元串後,用戶端需要對其進行解析。這時用戶端需要使用eval()方法對JSON字元串進行執行!但要注意,eval()方法在執行JSON時,必須把JSON字元串使用一對圓括号括起來。

 Java Code 

1

2

3

4

var json =  "{\"name\ ":\"zhangSan\ ", \"age\ ":\"18\ ", \"sex\ ":\"male\ "}";

var person = eval( "(" + json +  ")");

alert(person.name +  ", " + person.age +  ", " + person.sex);