根據(jù)數(shù)據(jù)中的key獲取value值
一、測(cè)試數(shù)據(jù)準(zhǔn)備
List<Map<String, String>> result = new ArrayList(); Map<String, String> map = new HashMap<>(); map.put("san", "張三"); map.put("si", "李四"); map.put("wu", "王五"); map.put("wang", "老王"); map.put("lao", "老張"); result.add(map);
二、將list<Map<String, String>>的結(jié)構(gòu)數(shù)據(jù)轉(zhuǎn)換成json數(shù)組
JSONArray jsonArray = JSONArray.parseArray(JSONArray.toJSON(result).toString());
System.out.println(jsonArray);
結(jié)果如下:
-------------------------------------------------------------------------------------------------
--------------[{"san":"張三","wang":"老王","si":"李四","lao":"老張","wu":"王五"}]-------------------
-------------------------------------------------------------------------------------------------
三、獲取json數(shù)組中對(duì)應(yīng)key的值
// 1.首先對(duì)數(shù)據(jù)進(jìn)行遍歷 for (Object o : jsonArray) { // 2.其次再將object轉(zhuǎn)成JsonObject類型 JSONObject jsonObject = (JSONObject) JSONObject.parse(JSON.toJSONString(o)); // 3.最后根據(jù)對(duì)應(yīng)key獲取對(duì)應(yīng)的value值 System.out.println(jsonObject.get("san")); System.out.println(jsonObject.get("wang")); System.out.println(jsonObject.get("si")); System.out.println(jsonObject.get("lao")); System.out.println(jsonObject.get("wu")); } 結(jié)果如下: --------------------------------------------------------------------------------------------------- --------------------------------------------------------------------------------------------------- ------------------------------張三 老王 李四 老張 王五----------------------------------------- --------------------------------------------------------------------------------------------------- ---------------------------------------------------------------------------------------------------
四、調(diào)用Entry對(duì)象中的getkey()和getValue()方法獲取鍵值
/** * 如果既要遍歷key又要value,那么建議這種方式,應(yīng)為如果先獲取keySet然后再執(zhí)行 * map.get(key),map內(nèi)部會(huì)執(zhí)行兩次遍歷。 * 一次是在獲取keySet的時(shí)候,一次是在遍歷所有key的時(shí)候。 * 當(dāng)我調(diào)用put(key,value)方法的時(shí)候,首先會(huì)把key和value封裝到 * Entry這個(gè)靜態(tài)內(nèi)部類對(duì)象中,把Entry對(duì)象再添加到數(shù)組中,所以我們想獲取 * map中的所有鍵值對(duì),我們只要獲取數(shù)組中的所有Entry對(duì)象,接下來 * 調(diào)用Entry對(duì)象中的getKey()和getValue()方法就能獲取鍵值對(duì)了 */ Set<java.util.Map.Entry<String, String>> entrys = map.entrySet(); for (java.util.Map.Entry<String, String> entry : entrys) { System.out.println(entry.getKey() + "--" + entry.getValue()); } 結(jié)果如下: -------------------------------------------------------------------------------------- -------------------------------------------------------------------------------------- ------------------------------------san--張三------------------------------------------ ------------------------------------wang--老王----------------------------------------- ------------------------------------si--李四------------------------------------------- ------------------------------------lao--老張------------------------------------------ ------------------------------------wu--王五------------------------------------------- -------------------------------------------------------------------------------------- --------------------------------------------------------------------------------------
古今成大事者,不唯有超世之才,必有堅(jiān)韌不拔之志!

浙公網(wǎng)安備 33010602011771號(hào)