循环JSONArray
时间: 2023-11-29 16:43:16 浏览: 75
循环JSONArray是指遍历JSONArray中的所有元素。JSONArray是一种轻量级的数据交换格式,常用于前后端数据传输。以下是三种常见的循环JSONArray的方法:
1.使用Iterator迭代器:
准备接受数据的数组ArrayList list = new ArrayList();
要循环遍历的数据JSONArray jsonArr = JSONObject.parseArray(data);
计数Iterator<Object> i = jsonArr.iterator();
判断是否存在下一组数据进行循环while (i.hasNext()){
接收子数据,这里就是处理你需要操作的业务数据JSONObject jsonObject = (JSONObject) i.next();
Map mapData = new HashMap<>();
mapData.put("speaker", jsonObject.get("speaker"));
mapData.put("onebest", jsonObject.get("onebest"));
list.add(mapData);
}
2.使用for循环:
for (int i = 0; i < jsonArr.size(); i++) {
JSONObject jsonObject = jsonArr.getJSONObject(i);
String name = jsonObject.getString("name");
Integer age = (Integer) jsonObject.get("age");
System.out.println("name:"+name+";age:"+age);
}
3.使用stream:
String s="[{\"name\":\"xie\"},{\"name\":\"7190208\"},{\"name\":\"zhang\"},{\"name\":\"7040177\"},{\"name\":\"li\"},{\"name\":\"liu\"},{\"name\":\"7050156\"},{\"name\":\"qian\"},{\"name\":\"7010202\"}]";
JSONArray dists = JSONArray.parseArray(s);
System.out.println(dists);
Set<String> list=new HashSet<>();
dists.stream().filter(Objects::nonNull).forEach(dist->{
list.add(((JSONObject) dist).getString("name"));
});
System.out.println(list);
阅读全文