详解Java实现JSONArray转Map的三种实现方式
作者:Java的小姐姐123
本文主要介绍了Java实现JSONArray转Map的三种实现方式,本文只是自己常用的三种,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
本文只是自己常用的三种,自己总结一下,不是只有这三种,杠精走开;
JSONArray数据
[ { "flagType": 1, "flagIcon": "1.jpg" }, { "flagType": 2, "flagIcon": "2.jpg" }, { "flagType": 3, "flagIcon": "3.jpg" }, { "flagType": 4, "flagIcon": "4.jpg" } ]
要转成目标数据
{ 1:"1.jpg", 2:"2.jpg", 3:"3.jpg", 4:"4.jpg" }
第一种
JSONArray jsonArray= new JSONArray(); //填充初始数据,此处过程省略 List<JSONObject> jsonObjectList = jsonArray.toJavaList(JSONObject.class); Map<Integer, String> map = jsonObjectList.stream().filter(Objects::nonNull).collect(Collectors.toMap(item -> item.getInteger("flagType"), item -> item.getString("flagIcon")));
第二种
JSONArray jsonArray= new JSONArray(); //填充初始数据,此处过程省略 Map<Integer, String> map = jsonArray.stream().filter(Objects::nonNull) .collect(Collectors.toMap( object -> { JSONObject item = (JSONObject) object; return item.getInteger("flagType"); }, object -> { JSONObject item = (JSONObject) object; return item.getString("flagIcon"); } ));
第三种
Map<Integer, String> flagIconMap = new HashMap<>(); JSONArray jsonArray= new JSONArray(); //填充初始数据,此处过程省略 if (jsonArray != null && !jsonArray.isEmpty()) { jsonArray.forEach(object -> { if (object == null) { return; } JSONObject jsonObject = (JSONObject) object; if (jsonObject.getInteger("flagType") == null) { return; } flagIconMap.put(jsonObject.getInteger("flagType"),jsonObject.getString("flagIcon")); }); }
到此这篇关于详解Java实现JSONArray转Map的三种实现方式的文章就介绍到这了,更多相关Java JSONArray转Map内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!