0

私たちの Web アプリケーションには、PDF または Word のいずれかのドキュメントを作成するサーブレットを実行する tomcat 5.5 サーバーがあり、それを次の構造の json として送り返します。

{
  "status": "OK", // or "ERROR" if an error occurred
  "format": "application/pdf", // or "application/msword" if a Word document was generated
  "document": [...] // document content
}

キーは、document最初にドキュメントを としてエクスポートし、byte[]次にそれを呼び出すtoString()ことによって作成されます。

このライブラリを使用して、サーブレット内で json 全体が管理されており、ここで応答の例を確認できます。

ただし、Tomcat サーバーを呼び出す PHP スクリプトが json 文字列を受信して​​実行すると、データが有効な json ではないかのようjson_decode()に返されます。NULL

使用したこのアルゴリズムに明らかな誤りはありましたか? または、より一般的には、JSON を使用してバイナリ データを適切に送信するにはどうすればよいでしょうか?

4

1 に答える 1

0

そもそも何が原因なのかわからない場合でも、この問題の解決策を見つけたので、自分自身に答えてください。

とにかく、バイナリ データを json として送信する前にbase64 エンコードを行うと、json オブジェクトが PHP スクリプトによって適切に解析され、base64 デコードを行うと、サーブレットによって作成された元のドキュメントが正常に再作成されることがわかりました。

于 2013-01-18T13:13:52.210 に答える