0

—Jersey REST サービスでは、JSON オブジェクトの要素としてブラウザ クライアントに送り返しています。しかし、私のサービスを消費しているブラウザ JQuery クライアントは、それをリテラルにデコードするのではなく、エンコードされた値自体-として表示しています。—

クライアントブラウザがリテラルとして理解するために、ジャージーまたはJSONリゾルバーで設定を変更する必要があるかどうか疑問に思っています-。Jersey からの出力 JSON を UTF-16 形式で送信しています。どんな助けにも感謝します。

4

2 に答える 2

1

—HTML または XML で有効な場合があります。しかし、JSON では\u2014(2014 は 10 進数 8212 の 16 進数表現です):

{
    "trip": "New York \u2014 Chicago"
}

JSONLintで確認できます。

ところで:JSON出力をどのくらい正確に生成していますか? 文字エンコーディングの詳細を気にする必要はありません。ジャージーはあなたのためにこれを行うべきです。

更新: 明らかに、初期データは HTML または XML でエンコードされています (何らかの理由で)。したがって、解決策は、JSON として送信する前にエンコーディングを元に戻すことです。ジャージーが残りの面倒を見てくれます。

データが特定の文字に対してのみ HTML/XML でエンコードされているが、一般的にはエンコードされていない場合は、ソースにさらに近い部分で修正する必要があるという問題があります。

于 2012-07-13T17:40:15.707 に答える
0

送信しています&#8212—? エンティティには終了セミコロンが必要です。

于 2012-07-13T16:44:26.903 に答える