用java怎么解析复杂的JSON

2025-12-04 17:07:02
推荐回答(3个)
回答1:

json-lib-2.4-jdk15.jar 这个包还另需一下几个包。

jakarta commons-lang 2.5
jakarta commons-beanutils 1.8.0
jakarta commons-collections 3.2.1
jakarta commons-logging 1.1.1
ezmorph 1.0.6

把上边的json定义为一个字符串 str,建议不要直接用还是自己动手写写。这样比较容易掌握方法。

JSONObject ob=JSONObject.fromObject(str);
Object success=ob.get("success");
Object errorMsg=ob.get("errorMsg");
System.out.println(success);
System.out.println(errorMsg);
JSONObject data=ob.getJSONObject("data");
Object total=data.get("total");
System.out.println(total);
JSONArray array=data.getJSONArray("rows");
JSONObject rows=null;
for(int i=0;irows=array.getJSONObject(i);
Object id=rows.get("id");
System.out.println(id);
Object workName=rows.get("workName");
System.out.println(workName);
Object assigneeName=rows.get("assigneeName");
System.out.println(assigneeName);
Object name=rows.get("name");
System.out.println(name);
Object processInstanceInitiatorName=rows.get("processInstanceInitiatorName");
System.out.println(processInstanceInitiatorName);
Object processInstanceStartTime=rows.get("processInstanceStartTime");
System.out.println(processInstanceStartTime);
Object createTime=rows.get("createTime");
System.out.println(createTime);
Object dueDate=rows.get("dueDate");
System.out.println(dueDate);
}

回答2:

用JQUERY的 var data = $.parseJSON(str);

var rows= data.rows

然后遍历出来
有的这样遍历不可以 你可以 在这里ALERT();一个值 看前面解析有没问题 如果没有问题 就是遍历后面的问题了
for (var i =0; i var id=rows[i].id;
var workName=rows[i].workName;
}
这样 不可以吗?

回答3:

用json的包,JSONObject.fromObject(“xx”)