请问如下json数据如何用java封装,麻烦高手指教。

2024-12-22 16:59:41
推荐回答(3个)
回答1:

Object[][] arr = new Object[4][10];
String str = "{array:[{value : \"0\", data : [{value : \"0\", text : \"请选择市\"}]}," +
"{value : \"1\",data : [{value : \"0\", text : \"请选择市\"},{value:\"1\",text:\"北京\"}]}," +
"{value : \"2\",data : [{value : \"0\", text : \"请选择市\"},{value:\"2\",text:\"上海市\"}]}," +
"{value : \"3\",data : [{value : \"0\", text : \"请选择市\"},{value:\"3\",text:\"苏州\"},{value:\"4\",text:\"泰州\"},{value:\"5\",text:\"王州\"}]}" +
"]}";
JSONObject jo = JSONObject.fromObject(str);
List ja = (List) JSONArray.toCollection(jo.getJSONArray("array"));
int i=0,j=1;
for(Object o:ja){
JSONObject jos = JSONObject.fromObject(o);
arr[i][0] = jos.get("value");
List jas = (List) JSONArray.toCollection(jos.getJSONArray("data"));
for(Object ob:jas){
JSONObject jobs = JSONObject.fromObject(ob);
if(!jobs.isNullObject()){
arr[i][j] = jobs;
j++;
}
}
i++;
}
for(int k = 0;k for(int h = 0;h System.out.println(arr[k][h]);
}
}
拿去看看吧,失败的程序╮(╯▽╰)╭,楼主用Map比较好,数组啊,list啥的可以试试其他方案(value做一个list,text做一个list,不过判断的时候可能会比较麻烦)

回答2:

推荐楼主试试google对json封装的工具类:GSON,小弟入行不深,对gson的研究也不多,有个不怎么高端的建议,可以用gosn将这个json串转为java对象,在put到jsonarray中,见笑了

回答3:

JSONString可以直接接受java字符串