詳解Java實現(xiàn)JSONArray轉(zhuǎn)Map的三種實現(xiàn)方式
本文只是自己常用的三種,自己總結(jié)一下,不是只有這三種,杠精走開;
JSONArray數(shù)據(jù)
[ { "flagType": 1, "flagIcon": "1.jpg" }, { "flagType": 2, "flagIcon": "2.jpg" }, { "flagType": 3, "flagIcon": "3.jpg" }, { "flagType": 4, "flagIcon": "4.jpg" } ]
要轉(zhuǎn)成目標(biāo)數(shù)據(jù)
{ 1:"1.jpg", 2:"2.jpg", 3:"3.jpg", 4:"4.jpg" }
第一種
JSONArray jsonArray= new JSONArray(); //填充初始數(shù)據(jù),此處過程省略 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(); //填充初始數(shù)據(jù),此處過程省略 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(); //填充初始數(shù)據(jù),此處過程省略 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")); }); }
到此這篇關(guān)于詳解Java實現(xiàn)JSONArray轉(zhuǎn)Map的三種實現(xiàn)方式的文章就介紹到這了,更多相關(guān)Java JSONArray轉(zhuǎn)Map內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
java 解決異常 2 字節(jié)的 UTF-8 序列的字節(jié)2 無效的問題
這篇文章主要介紹了java 解決異常 2 字節(jié)的 UTF-8 序列的字節(jié) 2 無效的問題的相關(guān)資料,需要的朋友可以參考下2016-12-12try-with-resource優(yōu)雅關(guān)閉io流的方法
這篇文章主要給大家介紹了關(guān)于try-with-resource優(yōu)雅關(guān)閉io流的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-01-01Mybatis之解決collection一對多問題(顯示的結(jié)果沒有整合到一起)
這篇文章主要介紹了Mybatis之解決collection一對多問題(顯示的結(jié)果沒有整合到一起),具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-03-03SpringBoot整合Mybatis-Plus、Jwt實現(xiàn)登錄token設(shè)置
Spring Boot整合Mybatis-plus實現(xiàn)登錄常常需要使用JWT來生成用戶的token并設(shè)置用戶權(quán)限的攔截器,本文就來詳細(xì)的介紹一下,具有一定的參考價值,感興趣的可以了解一下2024-02-02詳解Java中格式化日期的DateFormat與SimpleDateFormat類
DateFormat其本身是一個抽象類,SimpleDateFormat 類是DateFormat類的子類,一般情況下來講DateFormat類很少會直接使用,而都使用SimpleDateFormat類完成,下面我們具體來看一下兩個類的用法:2016-05-05