我发现在Chrome的控制台中使用Ext (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的结果呢?
发布于 2012-08-18 23:42:18
您可以在Extjs4中将Ext.USE_NATIVE_JSON设置为true。
发布于 2013-07-12 07:44:35
您需要知道这些值是相同的。\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: "ä"}https://stackoverflow.com/questions/12016894
复制相似问题