老早之前解析过走件json数据,这次在协助他人的时候又用到了,特喵居然蒙了。现做记录
这是要解析的json数据:
{
"result":{
"pageNum":1,
"pageSize":2,
"size":2,
"startRow":1,
"endRow":2,
"total":58,
"pages":29,
"list":[
{
"stnm":"AAAA",
"alarm_content":null,
"modeCode":"01",
"online":false,
"dtuid":"100098",
"tm":"2019-11-29 10:00:00",
"guid":"69920125",
"rtuid":"69923012501",
"stcd":"0811"
},
{
"stnm":"AAA",
"alarm_content":null,
"modeCode":"01",
"online":false,
"dtuid":"16081",
"tm":"2019-11-29 10:00:00",
"guid":"1426916",
"rtuid":"4323791601",
"stcd":"50217"
}
],
"firstPage":1,
"prePage":0,
"nextPage":2,
"lastPage":8,
"isFirstPage":true,
"isLastPage":false,
"hasPreviousPage":false,
"hasNextPage":true,
"navigatePages":8,
"navigatepageNums":[
1,
2,
3
]
}
}
现在的目的是:想要取出list 集合里面的东西
用main方法测试:
注:每一步都用了注释,方便理解查看。
public static void main(String[] args) {
//调接口获取json数据
String url = "http://10.10.50.190:8888/water/Monitor/v1/realTime/was/was_index";
String respons = HttpUtils.get(url);
//获取的json数据进行解析
List<shuizha> list = new ArrayList<shuizha>();
JSONObject jsonObject = JSONObject.parseObject(respons);//转json对象
JSONObject result= jsonObject.getJSONObject("result");//获取内层数据
JSONArray lists =result.getJSONArray("list");//获取list数据
list = JSON.parseArray(lists.toJSONString(), shuizha.class);//上一步获取的list数据是jsonArray,因此这一步是转成要用的ArrayList
System.out.print("data:"+list.size());
}
到目前为止,已经将json数据解析出来,可以进行接下来的操作了。
ps:如果还有更好的方法,请不吝赐教,私聊完善!