PDF ファイルの内容を読み取り、JSON 文字列でサーバーに送信したいと考えています。google guava ライブラリを使用して、pdf ファイルの内容を文字列に読み込みました。次に、jettison JSON ライブラリを使用して、JSON と競合する必要な文字をエスケープしました。
String content = Files.toString(new File("C:/Users/Sudhagar/Desktop/GAME.pdf"), Charset.defaultCharset());
String escapedContent = org.codehaus.jettison.json.JSONObject.quote(content);
JVM のデフォルトの文字セットを UTF-8 に設定しました。
結果の JSON 文字列は次のように作成されます。
String respStr = "{\n";
respStr = respStr + "\"mimetype\" : \"" + "text/plain" + "\",\n";
respStr = respStr + "\"value\" : " + escapedContent + "\n";
respStr = respStr + "}\n";
System.out.println(respStr);
StringEntity entity = new StringEntity(respStr);
httpput.setEntity(entity);
この JSON をサーバーに送信すると、例外が発生します。
org.codehaus.jackson.JsonParseException: Invalid UTF-8 middle byte 0xfc at [Source: [B@5733c2; line: 3, column: 25]
このアプローチまたはこの問題に対する他のアプローチにエラーがあるかどうかを知りたいです。