根据数据中的key获取value值
一、测试数据准备
List
Mapmap = new HashMap<>();
map.put("san", "张三");
map.put("si", "李四");
map.put("wu", "王五");
map.put("wang", "老王");
map.put("lao", "老张");
result.add(map);
二、将list
JSONArray jsonArray = JSONArray.parseArray(JSONArray.toJSON(result).toString());
System.out.println(jsonArray);
结果如下:
-------------------------------------------------------------------------------------------------
--------------[{"san":"张三","wang":"老王","si":"李四","lao":"老张","wu":"王五"}]-------------------
-------------------------------------------------------------------------------------------------
三、获取json数组中对应key的值
// 1.首先对数据进行遍历 for (Object o : jsonArray) { // 2.其次再将object转成JsonObject类型 JSONObject jsonObject = (JSONObject) JSONObject.parse(JSON.toJSONString(o)); // 3.最后根据对应key获取对应的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")); } 结果如下: --------------------------------------------------------------------------------------------------- --------------------------------------------------------------------------------------------------- ------------------------------张三 老王 李四 老张 王五----------------------------------------- --------------------------------------------------------------------------------------------------- ---------------------------------------------------------------------------------------------------
四、调用Entry对象中的getkey()和getValue()方法获取键值
/** * 如果既要遍历key又要value,那么建议这种方式,应为如果先获取keySet然后再执行 * map.get(key),map内部会执行两次遍历。 * 一次是在获取keySet的时候,一次是在遍历所有key的时候。 * 当我调用put(key,value)方法的时候,首先会把key和value封装到 * Entry这个静态内部类对象中,把Entry对象再添加到数组中,所以我们想获取 * map中的所有键值对,我们只要获取数组中的所有Entry对象,接下来 * 调用Entry对象中的getKey()和getValue()方法就能获取键值对了 */ Set