Json的Lib使用

一: 所依赖的Jar包 

 

json-lib的核心jar包有: 

  1. json-lib.jar

json-lib的依赖jar包有:

  1. commons-lang.jar
  2. commons-beanutils.jar
  3. commons-logging.jar
  4. commons-collections.jar
  5. ezmorph.jar

Json的Lib使用

二: json-lib中的核心类

在json-lib中只有两个核心类:

  1. JSONObject;JSONObject类本身是一个Map,所以学习它很方便。
  2. JSONArray;JSONArray本身是一个List,所以使用起来很方便

 

1. JSONObject------普通json字符串

Json的Lib使用

2. JSONObject------JavaBean转换

Json的Lib使用

 3. JSONObject------map对象

Json的Lib使用

JSONArray与上述相同,只是为List写法

JSONArray本身是一个List,所以使用起来很方便。

       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());

 

 

       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)[c1] ;

      

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

将List转换成JSONArray

 

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

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

       Person[] persons = {p1, p2};

      

       JSONArray ja = JSONArray.fromObject(persons)[c2] ;

      

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

将数组转换成JSONArray

 

 三:JS解释服务器发送过来的JSON字符串 

服务器发送过来JSON字符串后,客户端需要对其进行解析。这时客户端需要使用eval()方法对JSON字符串进行执行!但要注意,eval()方法在执行JSON时,必须把JSON字符串使用一对圆括号括起来。

1.0 斜杠为转义字符

2.0 \” 为原样输出双引号

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

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

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