Json的Lib使用
一: 所依赖的Jar包
json-lib的核心jar包有:
- json-lib.jar
json-lib的依赖jar包有:
- commons-lang.jar
- commons-beanutils.jar
- commons-logging.jar
- commons-collections.jar
- ezmorph.jar
二: json-lib中的核心类
在json-lib中只有两个核心类:
- JSONObject;JSONObject类本身是一个Map,所以学习它很方便。
- JSONArray;JSONArray本身是一个List,所以使用起来很方便
1. JSONObject------普通json字符串
2. JSONObject------JavaBean转换
3. JSONObject------map对象
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);