JSONObject.parseObject(builder.toString()).getJSONArray("data");这个JSONArray中的元素有一个Key是orgId,请问有办法将Jsonarray转为以这个orgId为key的map
时间: 2024-03-19 17:46:29 浏览: 56
java项目中读取jdbc.properties文件操作
可以使用Java 8的Stream API和Collectors.toMap方法来实现。可以按照以下步骤:
1. 将JSONArray转换为List<Map<String, Object>>类型;
2. 使用Stream API将List中的每个Map转换为一个Entry对象,其中key为orgId,value为整个Map对象;
3. 使用Collectors.toMap将Entry对象收集到一个Map中,以orgId为key,整个Map对象为value。
具体代码如下:
```
List<Map<String, Object>> list = JSONObject.parseObject(builder.toString())
.getJSONArray("data").toJavaList(Map.class);
Map<String, Map<String, Object>> resultMap = list.stream()
.map(map -> new AbstractMap.SimpleEntry<>((String) map.get("orgId"), map))
.collect(Collectors.toMap(Map.Entry::getKey, Map.Entry::getValue));
System.out.println(resultMap);
```
这样就可以得到以orgId为key的Map了。
阅读全文