{
"KSBM":"0019",
"CZY":"00096",
"JTStatus":"0",
"Bill":[{
"TKSL":"3",
"SPDJ":"0.95000000",
"JEHJ":"2.85000000",
"TFRQ":"2021-01-19 23:23:17",
"SPDID":"1003A11000000001K5MU"
},{
"TKSL":"3",
"SPDJ":"0.95000000",
"JEHJ":"2.85000000",
"TFRQ":"2021-01-19 23:23:17",
"SPDID":"1003A11000000001K5MU"
},......
]
}
我给他转化为Json对象
JSONObject jo = JSON.parseObject(refundJSON);
我怎么遍历出所有数据
可能转换的有点麻烦了
我是通过json对象查出Bill集合size作为循环条件
通过Bill集合.get(i)获取当前循环的Bill,并转成json对象,然后再取Bill里面的值
转成map?你这还有个Bill数组啊
最好根据json转换成对象,然后根据需要自己操作数据。
public static <T> T parseObject(String text, Class<T> clazz) {
return parseObject(text, clazz, new Feature[0]);
}
转成JSONObject 想要遍历的话,需要知道key的,如果转换成map,也要递归,最好就是转换成对象,然后判断处理什么都方便
JSONObject jo = JSON.parseObject(refundJSON);
forJSON(jo);
private void forJSON(JSONObject jobj) {
for (String key : jo.keySet()) {
if (jo.get(key) instanceof JSONArray) {
JSONArray ja = jo.getJSONArray(key);
for (Object o : ja) {
JSONObject jo = (JSONObject) o;
forJSON(jo);
}
} else {
System.out.println("key:" + key + " value:" + jobj.getString(key));
}
}
}