JSON.parse 和 JSON.stringify
现代浏览器提供的JSON.parse(JQ使用) if ( datatype === "json" || !datatype && rhd.indexOf("json") >= 0 ) { 初学JSON,按照官方说明,在json2.js中有parse和stringify两个方法,parse用于从一个字符串中解析出json对象。还是举个例子说明:
1
var
str
=
"
{'name':'x','age':23}
"
;
2 JSON.parse(str); 原来认为这肯定能够正确执行的,但是无论怎样写这个对象string,都抛出异常。后来发现原来是 " 和 ' 导致的错误。如果改为:
1
var
str
=
'
{ " name " :" xskow " ,"age " : 23 }
';
2 JSON.parse(str); 就OK了! 比如,如下的代码: function handle_success(response){ var json = eval(response); // response = "{'foo' : 'bar'}"; } 浏览器会报,invalid label错,这是因为,eval会尝试将你的response解释为一个label,当你在脚本中直接写: <script> {'foo' : 'bar'};</script> 会报错的原理是一样的. 解决办法有俩个: var json = eval('(' + response + ')'); // response = "{'foo' : 'bar'}"; 或者 eval('var json = ' + response); // response = "{'foo' : 'bar'}"; //json is available now
注:JSON不支持循环数据结构。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |