java中jsonobject怎么转map

1125
2023/12/15 19:34:35
栏目: 编程语言
开发者测试专用服务器限时活动,0元免费领,库存有限,领完即止! 点击查看>>

要将一个JSONObject转换为Map,可以使用以下方式:

import org.json.JSONObject;

import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;

public class Main {
    public static void main(String[] args) {
        JSONObject jsonObject = new JSONObject("{\"name\":\"John\", \"age\":30}");

        Map<String, Object> map = jsonToMap(jsonObject);

        System.out.println(map);
    }

    private static Map<String, Object> jsonToMap(JSONObject jsonObject) {
        Map<String, Object> map = new HashMap<>();

        Iterator<String> keys = jsonObject.keys();
        while (keys.hasNext()) {
            String key = keys.next();
            Object value = jsonObject.get(key);

            if (value instanceof JSONObject) {
                value = jsonToMap((JSONObject) value);
            }

            map.put(key, value);
        }

        return map;
    }
}

在上面的代码中,首先我们创建了一个JSONObject对象,然后调用jsonToMap方法将其转换为Map。jsonToMap方法使用递归的方式将JSONObject转换为Map,如果JSONObject中的value也是JSONObject,则继续递归调用jsonToMap方法。最终将转换后的Map打印出来。

输出结果为:{name=John, age=30}

辰迅云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>

推荐阅读: java中divide的用法是什么