3

Chrome のコンソールで使用すると、Ext JS (バージョン 4.1)Ext.JSON.encode()と Chrome (バージョン 21.0.1180.79)の違いが見つかりました。JSON.stringify()

JSON.stringify({"title": "ä"})
> "{"title":"ä"}"

Ext.JSON.encode({"title": "ä"})
> "{"title":"\u00e4"}"

結果をブラウザーに表示したいので、Chrome の結果を好みますが、他のブラウザーでの Chrome の JSON 処理に本当に依存できないことはわかっています。では、どうすれば Sencha の Ext JS で Chrome の結果を達成できるのでしょうか?

4

2 に答える 2

5

Extjs 4 では Ext.USE_NATIVE_JSON を true に設定できます。

于 2012-08-18T15:42:17.663 に答える
1

値が同じであることを知る必要があります。\u00e4は、文字äの実際の utf-8 表現です。Chrome は、ユーザーのエクスペリエンスを向上させるためにデコードされたäを出力する場合がありますが、デコードすると、両方の値が同じになります。

JSON.stringify({"title": "ä"})
> "{"title":"ä"}"
Ext.JSON.encode({"title": "ä"})
> "{"title":"\u00e4"}"
JSON.parse('{"title":"ä"}')
> Object {title: "ä"}
Ext.JSON.decode('{"title":"\u00e4"}')
> Object {title: "ä"}
JSON.parse('{"title":"\u00e4"}')
> Object {title: "ä"}
Ext.JSON.decode('{"title":"ä"}')
> Object {title: "ä"}
于 2013-07-11T23:44:35.213 に答える