首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >不同的UTF-8-处理Ext.JSON.encode()和Chrome的JSON.stringify()

不同的UTF-8-处理Ext.JSON.encode()和Chrome的JSON.stringify()
EN

Stack Overflow用户
提问于 2012-08-18 15:48:53
回答 2查看 4.5K关注 0票数 3

我发现在Chrome的控制台中使用Ext (4.1版) Ext.JSON.encode()和Chrome(21.0.1180.79版) JSON.stringify()之间存在差异:

代码语言:javascript
复制
JSON.stringify({"title": "ä"})
> "{"title":"ä"}"

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

因为我想在浏览器中显示结果,所以我更喜欢Chrome的结果,但我知道我不能在其他浏览器中真正依赖Chrome的JSON处理。那么,如何使用Sencha的Ext JS实现Chrome的结果呢?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-08-18 23:42:18

您可以在Extjs4中将Ext.USE_NATIVE_JSON设置为true。

票数 5
EN

Stack Overflow用户

发布于 2013-07-12 07:44:35

您需要知道这些值是相同的。\u00e4是字符ä的真实utf-8表示。Chrome可能会输出ä解码以获得更好的用户体验,但在解码时,两个值是相同的:

代码语言:javascript
复制
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: "ä"}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12016894

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档