Java解析json数据主要靠的是第三方开源包json-lib,这个开源包的依赖很多,下面是所有所需jar包的截图(结尾有jar包的下载链接)。
json-lib的格式数据的情况有两种
一、单对象的格式化,也就是一个json对象格式化成java对象。比较简单,代码如下。
String json = "{name=\"json\",bool:true,int:1,double:2.2,func:function(a){ return a; },array:[1,2]}";
JSONObject jsonObject = JSONObject.fromObject(json);
System.out.println(jsonObject.get("name"));
System.out.println(jsonObject.get("bool"));
二、多对象的格式化,也就是多个对象格式化成某个java对象数组(T[]),主要使用的是JsonArray类,代码如下。
try {
String jsonStr = FooFile.read("questions.json");
JSONArray ja = JSONArray.fromObject(jsonStr);
for (int i = 0; i < ja.size(); i++) {
System.out.println(ja.get(i));
}
Question[] list = (Question[]) JSONArray.toArray(ja, Question.class);
for (int i = 0; i < list.length; i++) {
System.out.println(JSONArray.fromObject(list[i]));
}
} catch (IOException e) {
}
格式化的时候需要传格式对象class参数,还有注意的是格式化以后是数组。
)