【问题标题】:How to create JSONArray using map in java如何在java中使用地图创建JSONArray
【发布时间】:2020-03-18 20:32:25
【问题描述】:

我有下面的代码,它将使用JSONArray 创建嵌套的JSON 对象。

public static void main(String[] args) {
        JSONArray array=new JSONArray();
        JSONObject jsonObject=new JSONObject();
        JSONObject jsonObject1=new JSONObject();
        JSONObject jsonObject2=new JSONObject();
        jsonObject2.put("testapp", true);
        array.put(jsonObject2);
        jsonObject1.put("test", array);
        jsonObject1.put("test2", false);
        jsonObject1.put("app", 1);
        jsonObject.put("MAINs", jsonObject1);
        System.out.println(jsonObject);
    }

输出是:

{"MAINs":{"app":1,"test2":false,"test":[{"testapp":true}]}}

但我想在 java 中创建上述 JSON 对象的地图表示,就像我使用 JSONObject 和 JSONArray 创建的方式一样。

【问题讨论】:

  • 您可以使用 Gson 库。你可以使用它的 toJson 方法,它会反序列化你作为输入参数发送的任何对象。

标签: java json hashmap


【解决方案1】:

您可以使用 org.json 库中的 toMap 方法将 JSONObject 转换为 Map 对象。

public static void main(String[] args) {
    JSONArray array=new JSONArray();
    JSONObject jsonObject=new JSONObject();
    JSONObject jsonObject1=new JSONObject();
    JSONObject jsonObject2=new JSONObject();
    jsonObject2.put("testapp", true);
    array.put(jsonObject2);
    jsonObject1.put("test", array);
    jsonObject1.put("test2", false);
    jsonObject1.put("app", 1);
    jsonObject.put("MAINs", jsonObject1);
    System.out.println(jsonObject);
     Map<String, Object> map=jsonObject.toMap();
     System.out.println(map);
}

【讨论】:

    猜你喜欢
    • 2013-09-29
    • 1970-01-01
    • 1970-01-01
    • 2011-01-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-03-26
    • 1970-01-01
    相关资源
    最近更新 更多