PDFからテキストを抽出してjsonファイルに書き込もうとしています。 Unicode文字を抽出する際、Jsonはすべての&を\ u0026に変換します。たとえば、実際の文字列はش
です。 (これはrepresentsを表します)。 .txtファイルやコンソールなどに正しく出力されます。しかし、この文字列をJsonファイルに出力しようとすると、\u0026#1588;
が表示されます。
私はJavaを使用しており、コードは
Gson gson = new Gson();
String json = gson.toJson(pdfDoc);
注:pdfDoc
は、入力PDFドキュメント内の文字のすべての詳細(位置、色、フォントなど)を含むオブジェクトです。私はgson-2.2.1.jar
を使用しています。
これは実際には有効な(ただし必須ではない)エンコーディングです。 任意の文字可能性がありますは、JSONのUnicodeエスケープと有効なJSON解析ライブラリは、これらのエスケープを解釈できる必要があります。
&
はneedエンコードする文字の一部ではありません(string
の定義を参照してください json.orgで =)、ただし、エンコーディングが非常に「積極的」なJSONライブラリがいくつかあります。結果のJSONを準拠するJSONパーサーで実際に処理しない限り、これは通常問題ではありません。
GsonBuilder.disableHtmlEscaping() は、どうしても必要な場合にその機能をオフにするのに役立ちます。