json字符串转化map

JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,它易于阅读和编写,也易于机器解析和生成。在Java编程中,我们经常需要将JSON字符串转化为Map对象,以便于对JSON数据的读取和操作。

json字符串转化map

为了将JSON字符串转化为Map对象,我们先需要导入相关的依赖:

<dependency>
    <groupId>org.json</groupId>
    <artifactId>json</artifactId>
    <version>20201115</version>
</dependency>

接着,我们可以使用以下代码实现JSON字符串和Map对象的转换:

import org.json.JSONObject;

public class JsonMapUtil {
    public static Map<String,Object> jsonToMap(String jsonStr){
        JSONObject jsonObject = new JSONObject(jsonStr);
        Map<String,Object> map = new HashMap<>();
        for(String key : jsonObject.keySet()){
            Object obj = jsonObject.get(key);
            if(obj instanceof JSONObject)
                map.put(key,jsonToMap(obj.toString()));
            else if(obj instanceof JSONArray)
                map.put(key,jsonToList(obj.toString()));
            else
                map.put(key,obj);
        }
        return map;
    }
    
    public static void main(String[] args){
        String jsonStr = "{\"name\":\"张三\",\"age\":21,\"hobby\":[\"唱歌\",\"跳舞\"]}";
        Map<String,Object> map = jsonToMap(jsonStr);
        for(Map.Entry<String,Object> entry : map.entrySet()){
            System.out.println(entry.getKey()+":"+entry.getValue());
        }
    }
}

以上代码中,我们通过JSONObject类将JSON字符串转换为JSONObject对象,然后遍历JSONObject对象的每个键值对,判断值对象的类型,如果是JSONObject或JSONArray类型则递归转换为Map或List对象,最后将键值对放入Map中返回即可。

相关文章

AJAX是一种基于JavaScript和XML的技术,能够使网页实现异步交...
在网页开发中,我们常常需要通过Ajax从后端获取数据并在页面...
在前端开发中,经常需要循环JSON对象数组进行数据操作。使用...
AJAX(Asynchronous JavaScript and XML)是一种用于创建 We...
AJAX技术被广泛应用于现代Web开发,它可以在无需重新加载页面...
Ajax是一种通过JavaScript和HTTP请求交互的技术,可以实现无...