//json文件存放路径(如:E:\a.json)
String data= ReadFile.readFile("F:\\a.json")
System.out.println(data)
JSONObject jsonObj = JSONObject.fromObject(data)
//得到A对粗并缓象
JSONArray arrayA=jsonObj.getJSONArray("A")
A a = (A) JSONObject.toBean((JSONArray.fromObject(arrayA.toString()).getJSONObject(0)),A.class)
//得到B集合蔽历
JSONArray arrayB=jsonObj.getJSONArray("B")
List<B>listB=new ArrayList<B>()
for(int i=0i<arrayB.size()i++){
B b=(B)JSONObject.toBean((JSONArray.fromObject(arrayB.toString()).getJSONObject(i)),B.class)
listB.add(b)
}
//得到C集合
JSONArray arrayC=jsonObj.getJSONArray("C")
List<C>listC=new ArrayList<C>()
for(int i=0i<arrayB.size()i++){
C c=(C)JSONObject.toBean((JSONArray.fromObject(arrayC.toString()).getJSONObject(i)),C.class)
listB.add(c)
}
json可以看成是由JSONObject与JSONArray组成的,他们彼此可以相互嵌套。如:JSONObject obj=jsonObject.getJSONObject("第一级Object名")
JSONArray jsonArray = obj.getJSONArray("Object中的array名")
JSONObject pages = jsonArray.getJSONObject(0)//从jsonArray中解仔掘乱析第一个Object
JSONObject pageTimings=pages.getJSONObject("继续解析array中念档的object")
String onContentLoad=pageTimings.getString("onContentLoad")//得到想要的值
把{}大括号扩起来的看成是object,如果有名字就根据名字来解析,如果没名字就根据序号来解析,上面的散掘代码两种情况均有涉及,请注意参考与更改变量名。[]扩起来的看成数组,用getArray解析,同样可以用名字或序号解析,jsonObject是读取进来的json文件的对象
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)