java – 使用Gson添加现有的json字符串

前端之家收集整理的这篇文章主要介绍了java – 使用Gson添加现有的json字符串前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个String对象包含一些任意的json.我想将它包装在另一个json对象中,像这样:
{
   version: 1,content: >>arbitrary_json_string_object<<
}

我如何可靠地添加我的json字符串作为属性,而不必手动构建(即避免繁琐的字符串连接)?

class Wrapper {
   int version = 1;
}

gson.toJson(new Wrapper())
// Then what?

请注意,添加的json不应该被转义,而是作为一个有效的json实体的包装器的一部分,像这样:

{
   version: 1,content: ["the content",{name:"from the String"},"object"]
}

特定

String arbitraryJson = "[\"the content\",{name:\"from the String\"},\"object\"]";

解决方法

这是我的解决方案:
Gson gson = new Gson();
  Object object = gson.fromJson(arbitraryJson,Object.class);

  Wrapper w = new Wrapper();
  w.content = object;

  System.out.println(gson.toJson(w));

在那里我改变了你的Wrapper类:

// setter and getters omitted
public class Wrapper {
  public int version = 1;
  public Object content;
}

如果要隐藏反序列化/序列化的详细信息,还可以为Wrapper编写一个自定义序列化程序.

原文链接:https://www.f2er.com/java/127150.html

猜你在找的Java相关文章