apache提供的json-lib小工具,它可以方便的使用Java语言来创建JSON字符串。也可以把JavaBean转换成JSON字符串。
json-lib的核心jar包有:
json-lib的依赖jar包有:
在json-lib中只有两个核心类:
JSONObject
;JSONArray
;JSONObject的父类其实就是Map;
JSONArray的父类其实就是List。
它们俩都都添加了一个toString()
方法。用来转换成json字符串。
JSONObject本质就是一个Map,所以学习它很方便。
例如:
public static void function1() {
JSONObject map = new JSONObject();
map.put("name", "veeja");
map.put("age", 18);
map.put("sex", "male");
System.out.println(map.toString());
}
输出的结果为:
{"name":"veeja","age":18,"sex":"male"}
我们还可以把一个对象,直接转换成JSONObject对象。
例如(这里的person类我们就不把代码贴出来了,大家可以自行编写):
public static void function2() {
Person p = new Person("veeja", 18, "male");
JSONObject map = JSONObject.fromObject(p);
System.out.println(map.toString());
}
输出结果:
{"age":18,"name":"veeja","sex":"male"}
JSONArray本身是一个List,使用起来也很简单。
例如:
public static void function3() {
JSONArray jsonArray = new JSONArray();
Person p1 = new Person("aaa", 21, "male");
Person p2 = new Person("bbb", 18, "female");
jsonArray.add(p1);
jsonArray.add(p2);
System.out.println(jsonArray.toString());
}
输出的结果为:
[{"age":21,"name":"aaa","sex":"male"},{"age":18,"name":"bbb","sex":"female"}]
再例如,如果已经有了一个List,我们需要把List转换成JSONArray:
public static void function4() {
Person p1 = new Person("ccc", 21, "male");
Person p2 = new Person("ddd", 18, "female");
List<Person> list = new ArrayList<Person>();
list.add(p1);
list.add(p2);
JSONArray jsonArray = JSONArray.fromObject(list);
System.out.println(jsonArray.toString());
}
输出结果:
[{"age":21,"name":"ccc","sex":"male"},{"age":18,"name":"ddd","sex":"female"}]
END.