我试图从pdf中提取文本并将其写入一个json文件。在提取Unicode字符时,Json将所有的&转换为\u0026。例如,我的实际字符串是ش
.(代表)。它可以正确打印到.txt文件,控制台等。但当我试图将此字符串打印到一个Json文件时,它显示\u0026#1588;
。
我使用的是Java,代码是
Gson gson = new Gson();
String json = gson.toJson(pdfDoc);
注意:pdfDoc
是一个对象,包含了输入PDF文档中字符的所有细节(位置、颜色、字体等)。我使用的是gson-2.2.1.jar
。
2条答案
按热度按时间1bqhqjot1#
这实际上是一个有效的(但不是必需的)编码。* 任何 * 字符 * 都可以 * 使用JSON中的unicode转义进行编码,并且任何有效的JSON解析库 * 都必须 * 能够解释这些转义。
&
不是需要编码的字符(参见string
at json.org的定义),但是有一些JSON库在编码方面非常“激进”,这通常不是问题,除非你不需要使用符合要求的JSON解析器来处理结果JSON。GsonBuilder.disableHtmlEscaping()将帮助您在绝对需要时关闭该特性。
2eafrhcq2#
使用以下代码在Swift中解码unsplash.com JSON文件中的\u0026:
奇怪的是,编码会留下&,而不会重新编码到\u0026??