如何禁用 gson 中的字符编码?

How to disable character encoding in gson?

Gson在转换json字符串中的java对象时,默认直接对双引号(")等字符进行编码。我有一个xml数据数组,在json 对象,如下所示。

<items>
  <item id="100" name="test">
  </item>
</items>

我正在使用 JAXB 使用 java 对象创建此 XML 结构,当我使用 GSON 将构造的对象转换为 JSON 时,我得到 xml 输出下面给出,

<items><item id=\"100\" name=\"test\"></item></items>

如何阻止 GSON 转义双引号?请帮忙

您不能停止 GSON 转义双引号,因为输出将不再有效 JSON。每个 " 都会停止或启动当前的 JSON 字符串,并且它们之间的部分会破坏 JSON 字符串。

但是,这应该不是问题,因为 JSON 解析器无论如何都会在反序列化时将 \" 转换回 ",因为这是 [=27= 的规范].

看到这个很不错JSON specification,特别是这部分:


(来源:json.org