如何禁用 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)
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)