Java中,使用Json来处理数据十分常见。在处理数据的时候,有时候需要将Json转换为Map。接下来就来介绍一下如何使用Java将Json转为Map。
public static Mapjson2Map(String jsonString) { Map map = new HashMap (); JSONObject obj = JSON.parseObject(jsonString); for (String key : obj.keySet()) { Object value = obj.get(key); if (value instanceof JSONArray) map.put(key, json2List(((JSONArray) value).toJSONString())); else if (value instanceof JSONObject) map.put(key, json2Map(((JSONObject) value).toJSONString())); else map.put(key, value); } return map; }
如上代码所示,在转换的过程中,对Json中的每一个键值对进行递归处理,将值转为相应的Java数据结构赋值给Map中对应的键。最终,返回一个Map对象,该对象中包含了Json中所有的键值对。
当然,代码中要使用Json的库,如本例中采用的阿里巴巴的fastjson库。在项目中,需要先引入该库。
总之,使用Java将Json转为Map虽然会有些复杂,但是却是经常会遇到的事情。熟练掌握此项技能对于处理数据十分重要。