我有一些JSON编码的字符串,需要轻松解析。你有什么好的想法吗?我是JavaScript新手,自己无法完成。我了解到解析JSON很难。
请帮帮我!
请帮帮我!
JSON是有效的JavaScript代码,因此您可以使用eval()函数对其进行求值:
var data = eval(json);
然而,当可用时,使用JSON.parse()
[文档]更加安全:
var data = JSON.parse(json);
那么你可以这样做:
if (window.JSON) {
data = JSON.parse(json);
} else {
data = eval('('+json+')');
}
注意在eval()中使用括号。请参考@CMS的评论和这里。$.parseJSON()
[docs]。data = ((window.JSON&&JSON.parse)||eval)(json);
,这样会更加简洁。 - icktoofay'{“foo”:“bar”}'
),则 eval(json)
将无法工作,因为第一个大括号将被解释为语句块的开头,而不是对象字面量的开头,您应该这样做:eval('('+json+')');
强制将评估转换为表达式上下文。 也请参阅 另外,另一种选择是使用 Function
构造函数,我认为这更好,因为 eval
使引擎优化变得更加困难,例如:Function('return '+json)();
. - Christian C. SalvadóJSON.parse()
在大多数JavaScript环境中已经定义。
它是用来解析JSON字符串并将其转换为对象的功能。
试着看一下http://www.json.org/js.html。你需要类似这样的东西:
var myObject = JSON.parse(myJSONtext, reviver);