Java中的JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,常用于Web服务中。而将JSON字符串转换成Java中的Map对象,是Java编程中常见的处理方法。
下面是一段示例代码:
public MapjsonToMap(String jsonString) throws Exception { ObjectMapper objectMapper = new ObjectMapper(); return objectMapper.readValue(jsonString, new TypeReference
该代码中使用了Jackson JSON库的ObjectMapper类,通过readValue()方法将JSON字符串转换成Map对象。需要注意的是,返回值的泛型使用了TypeReference类,因为Map
这个方法可以处理简单的JSON字符串,如:{"name":"张三","age":28}
但是,当JSON字符串中嵌套了多层对象时,就需要对代码进行修改:
public MapjsonToMap(String jsonString) throws Exception { ObjectMapper objectMapper = new ObjectMapper(); JsonNode root = objectMapper.readTree(jsonString); Map map = new HashMap<>(); Iterator >it = root.fields(); while (it.hasNext()) { Map.Entry entry = it.next(); if (entry.getValue().isObject()) { map.put(entry.getKey(), jsonToMap(entry.getValue().toString())); } else if (entry.getValue().isArray()) { List
这个方法通过递归的方式处理JSON字符串中的多层嵌套对象和数组。需要注意的是,在处理数组时,需要判断数组元素是不是对象。