52,797
社区成员
发帖
与我相关
我的任务
分享
问题:处理服务器的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来处理。