json stringify 中文转成unicode的问题

密码测试 2010-10-20 10:22:17
var root0 = "[{\"id\":\"5\",\"text\":\"工资帐号\",\"children\":[{\"id\":\"per.MCStockSignInfoQuery\",\"text\":\"个人账户第三方存管签约信息查询\"},{\"id\":\"per.MCConsumePasswordSwitch\",\"text\":\"信用卡消费凭密开关\"}]}]";
alert(root0);
var v = JSON.parse(root0);
var root3=JSON.stringify(v);
alert(root3);

上面的JS代码,显示root0的时候中文正常,但是,显示root3的时候,中文被转换为unicode了,
我要root3也能显示中文,该如何实现?
...全文
528 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
Mr-Jee 2010-10-21
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 xyplsj11 的回复:]

这只是键/值对的问题
别以为他做了什么手脚

图片定义颜色
按钮定义颜色
通过按钮颜色找图片。就这么简单~
[/Quote]我了个去
copy paste 也要看帖子吧~~~!
xyplsj11 2010-10-21
  • 打赏
  • 举报
回复
这只是键/值对的问题
别以为他做了什么手脚

图片定义颜色
按钮定义颜色
通过按钮颜色找图片。就这么简单~
Mr-Jee 2010-10-21
  • 打赏
  • 举报
回复
把转换成的unicode字符串发给我看看好吗
密码测试 2010-10-21
  • 打赏
  • 举报
回复
我题目上的root0已经是客户端的字符串了,我是在客户端转换时出问题的
yhtapmys 2010-10-20
  • 打赏
  • 举报
回复

问题:处理服务器的json返回值的时候,返回被当作串处理的时候无法显示其中的中文,
都是unicode的形式显示。
我用的方法是用description.split('[')[1].split(']')[0]来得到“[]”里面的值,
显示的都是unicode码。
应当将json串转换为js中的对象,再作处理,比如:
var fileObj = {picurls: [], docurls: []};
try {
fileObj = description?eval('('+description+')'):fileObj;
}
catch(e) {
}

总结:json和xml类似,可以看成一段文本,也可以看成对象,
文本格式正确的话可以在js中生成对象,用eval将串重新生成一下对象就可以了。
因此在处理json的时候,应当先将格式化好的string eval成对象,
如果直接处理string会出很多意外。
另外要注意的就是,注意Node是什么类型,是数组还是对象?
能不当作string就不当成string,最后在当作string来处理。


52,797

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 Ajax
社区管理员
  • Ajax
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧