Json将&字符串转换为\ u0026

我试图从pdf中提取文本并将其写入json文件。 在提取unicode字符时,Json会将所有&转换为 u0026。 例如我的实际字符串是&#1588 。 (代表ش)。 它正确地打印到.txt文件,控制台等等。但是当我尝试打印这个字符串到一个Json文件时,它显示了u0026#1588;

我使用的是Java,代码是

Gson gson = new Gson();
String json = gson.toJson(pdfDoc);

注意: pdfDoc是一个对象,它包含输入PDF文档中所有字符的详细信息(位置,颜色,字体等)。 我正在使用gson-2.2.1.jar


这实际上是一个有效的(但不是必需的)编码。 任何字符都可以使用JSON中的unicode转义进行编码,任何有效的JSON解析库都必须能够解释这些转义。

&不是需要编码的字符的一部分(请参阅json.org上的string定义),但是有一些JSON库在编码时非常“积极”。 这通常不是问题,除非您不真正处理带有符合JSON解析器的JSON。

如果您绝对需要,GsonBuilder.disableHtmlEscaping()将帮助您关闭该功能。

链接地址: http://www.djcxy.com/p/88673.html

上一篇: Json converts & in a String to \u0026

下一篇: MFC issues with Unicode and fonts in CListCtrl using Windows 7