java - GSON : How to convert Object (which itself contains JSON) to JSON

标签 java gson

我有一个不同的用例,其中 POJO 本身的字段存储 JSON 数据,基本上是所有数据的分组。

现在我想要从上面的 POJO 生成完整的 JSON。

目前我正在使用这个方法

private static Gson gson = new Gson();
public static String convertObjectToJSON(Object object) throws Exception {
    String jsonResponse = gson.toJson(object);
    return jsonResponse;
}

但是在双引号周围使用转义字符获取输出,如下所示

 { \"_id\" : 234242, \"name\" : \"carlos\"}

我在 GsonBuilder 中尝试了各种选项,但不起作用。 基本上,我只是将多个 JSON 数据分组并发送。

您能否提供必要的帮助来删除双引号周围的转义字符。

更新:

问题是:我有 3 个 JSON,需要将它们组合成一个 JSON,并需要通过 Spring MVC 将其传递给 html5 客户端。截至目前,我已将 3 个 JSON 添加到 POJO 中,并尝试将其转换为 JSON。上面已经解释过了。

感谢和问候

文卡特

最佳答案

我尝试了下面的示例代码,它的双引号周围没有任何转义字符。

class MyPOJO{
    private int _id;
    private String name;
    // getter & setter
}

String json="{ \"_id\" : 234242, \"name\" : \"carlos\"}";
MyPOJOobj=new Gson().fromJson(json, MyPOJO.class);
System.out.println(new Gson().toJson(obj));

输出:

{"_id":234242,"name":"carlos"}
<小时/>

编辑

如果你想组合 3 个 JSON 字符串,那么它将存储为对象列表,如下所示:

示例代码:

String json = "[" +
                    " { \"_id\" : 1, \"name\" : \"A\"}," +
                    " { \"_id\" : 2, \"name\" : \"B\"}," +
                    " { \"_id\" : 3, \"name\" : \"C\"}" +
                "]";
Type type = new TypeToken<ArrayList<MyPOJO>>() {}.getType();
ArrayList<MyPOJO> obj = new Gson().fromJson(json, type);
System.out.println(new GsonBuilder().setPrettyPrinting().create().toJson(obj));

输出:

[
  {
    "_id": 1,
    "name": "A"
  },
  {
    "_id": 2,
    "name": "B"
  },
  {
    "_id": 3,
    "name": "C"
  }
]

关于java - GSON : How to convert Object (which itself contains JSON) to JSON,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24713687/

相关文章:

java - Gson反序列化具有递归依赖的复杂对象

android - 我正在尝试使用 Sharedpreferences 来保存对象的数组列表,但是 toJson 和 fromJson 导致致命异常

java - 带有页面对象模型页面工厂的 Selenium 网格

java - gson java中反序列化集合的困惑

java - GSON 将所有字段设置为空

java - 如何从 Json Tree 获取特定节点而不迭代整个列表

java - toJson 方法导致 UI 卡住

java - JSF 重定向异常

java - eclipse 使用 JavascriptInterface 从 javascript 触发 toast

java - Java中是否有一些经验模式分解库?