如何使用gson将json字符串列表转换为jsonobject

bvhaajcl  于 2021-07-09  发布在  Java
关注(0)|答案(1)|浏览(371)

我有一个json字符串列表: List<String> jsonStringList ,我想用gson把它转换成一个jsonobject,请问最好的方法是什么?
我知道我可以一个接一个地解析它们,就像:

for (String jsonString : jsonStringList) {
    JsonElement parsed = new JsonParser().parse(jsonString);
}

但我该怎么把他们联系起来呢?最好的方法是什么?

ig9co6j1

ig9co6j11#

String s1 = "{\n" +
                "    \"userName\": \"RandomDiscord Name\",\n" +
                "    \"permissions\": \"read\"\n" +
                "  }";
        String s2 = "{\n" +
                "    \"userName\": \"RandomDiscord Name1\",\n" +
                "    \"permissions\": \"read2\"\n" +
                "  }";
        List<String> jsonStringList = Arrays.asList(new String[]{s1, s2});
        JSONArray arr = new JSONArray();
        for (String jsonString : jsonStringList) {
            JsonElement obj = new JsonParser().parse(jsonString);
            arr.add(obj);
        }
        String jsonString = arr.toString();
        System.out.println(jsonString);

        JSONObject obj = new JSONObject();
        try {
            obj.put("CustomObject", arr);
        } catch(JSONParseException e) {
            e.printStackTrace();
        }
        System.out.println(obj.toString());

尝试使用 JSONArray 在迭代列表时,只需将该对象添加到jsonarray中。

对于上面的代码,我得到下面的输出o/p

[{"userName":"RandomDiscord Name","permissions":"read"},{"userName":"RandomDiscord Name1","permissions":"read2"}]
{"CustomObject":[{"userName":"RandomDiscord Name","permissions":"read"},{"userName":"RandomDiscord Name1","permissions":"read2"}]}

相关问题