如何在Java中解析JSON字符串以获取包含在其中的String anotherJSON

时间:2019-02-10 03:01:04

标签: java json

我的控制器中出现String jsonObject。 结构如下:

{
  "name":"name", 
  "schema": {
   ... 
   ...
   }
}

我需要将其解析为一个普通的Java对象,并以字符串形式接收schema(保存结构)。当我使用System.out.print("schema")时,我希望看到:

{
  ...
  ... 
}

我有一个带有CollectionString name字段的POJO Object schema。 我正在使用GSON从Collection.class获取String json

new Gson().fromJson(json, Collection.class);

当我尝试打印Collection.schema时,得到以下输出:

{......}-一行。

我真的需要将此对象作为String 不带格式

1 个答案:

答案 0 :(得分:0)

这应该有效。基本上,您先对Collection对象进行水化处理,然后再通过Gson发送回架构。完成。

Gson gson = new Gson();
Collection collection = gson.fromJson(json, Collection.class);
String schema = gson.toJson(collection.getSchema());
System.out.println(schema);

可能会询问您为什么要接受来自控制器的字符串?也许您可以获得用于传递完全转换的Collection对象并为自己节省步骤的框架?

另外,对于您的Collection.schema,通常使用Map<String, Object>而不是Object来减少这种“模式”少的范例类型。