有没有一种方法可以将JSON中的对象视为字符串?

时间:2018-11-02 19:17:30

标签: java json deserialization

我正在使用Java,并且有一些类似这样的JSON:

{
    "objectList" : [{...}, {...}, ...], 
    "metadata" : {...}    
}

我想要做的是将列表和对象作为JSON字符串获取。所以基本上,我想将此JSON反序列化为这样的对象:

{
    "objectList" : "[{...}, {...}, ...]", 
    "metadata" : "{...}"    
}

所以我可以对那些字符串做进一步的处理。

执行此操作的最佳方法是什么?

我很犹豫尝试使用String解析来提取所需的数据,因为这些对象中的值可能会影响其解析方式。

1 个答案:

答案 0 :(得分:1)

如果我是您,我将使用一些JSON解析库(例如Gson)将您的JSON转换为JsonObject。然后,您可以使用objectList来简单地将String的值作为JsonObject#getAsString

String json = "{\n" +
              "    \"objectList\" : \"[{...}, {...}, ...]\", \n" +
              "    \"metadata\" : \"{...}\"    \n" +
              "}";

JsonObject jsonObject = new Gson().fromJson(json, JsonObject.class);

System.out.println(jsonObject.get("objectList").getAsString());

输出:

[{...}, {...}, ...]