2

現在、JSON をクライアントに出力する小さな Web サービスに取り組んでいます。テスト目的で、ブラウザ (Firefox 20) で JSON 出力を許可しました。JSON 内では、さまざまな言語でテキストを宣言するためにタグを使用していますが、ブラウザが開始タグをフィルタリングするため、これが問題を引き起こしているようです。

ブラウザ (Chrome と Opera でも試しました) は、タグが HTML であると認識し、それを処理しようとしていると思います。そのため、JSON コードを CODE-Tags と PRE-Tags にも入れましたが、結果は常に同じです。

言い換えれば、私が得るもの:

"description":"Bild 1<\/de>Image 1<\/en>\u5199\u771f\u7b2c\u4e00<\/jp>"

私が欲しいもの:

"description":"<de>Bild 1<\/de><en>Image 1<\/en><jp>\u5199\u771f\u7b2c\u4e00<\/jp>"

重要: 出力は本来あるべきもの (私のデバッガーによると) であり、ブラウザーがそれをどのように表示するかだけです。ブラウザにタグを無視させる可能性はありますか、それとも「& lt;」を使用する必要がありますか? と「& gt;」? ありがとうございました!

4

2 に答える 2

0

XML をエスケープすることが当面の解決策のように思えるかもしれませんが、そうではありません。元の Web サービスが壊れます。

応答で以下のヘッダーを送信しているかどうかを再確認してください。

Content-Type: application/json

上記のヘッダーにより、ブラウザーは応答を (HTML ではなく) JSON として解釈します。

于 2013-04-05T10:59:28.397 に答える