如何在JavaScript中解析JSON

0 投票
最新提问 2月 5, 2017 用户: 双鱼座 (320 分)

我想在JavaScript中解析一个JSON字符串。格式类似下面

var response = '{"result":true,"count":1}';

怎样才能获得result和count的值?

1个回答

+1 投票
最新回答 2月 5, 2017 用户: 西阿斯 (200 分)
修改于 2月 5, 2017 用户:西阿斯

大多数浏览器支持JSON.parse(),这在ECMA-262第5版中定义的。它的用法很简单:

var json = '{"result":true,"count":1}',
    obj = JSON.parse(json);
alert(obj.count);

不支持的浏览器可以使用json2.js

如果你已经使用jQuery,有一种$.parseJSON写法映射到JSON.parse函数(如果可用)或在旧的浏览器转换为eval。然而,这将执行额外的、不必要的检查。为了达到最好的性能我推荐使用下面的写法:

var json = '{"result":true,"count":1}';
obj = JSON && JSON.parse(json) || $.parseJSON(json);

这将确保优先使用JSON.parse,而不是jQuery的繁琐检查。

也可以使用eval,但存在安全风险,最好使用现有的库。例如:

var response = '{"result":true , "count":1}';
var parsedJSON = eval('('+response+')');
var result=parsedJSON.result;
var count=parsedJSON.count;
alert('result:'+result+' count:'+count);
欢迎来到编程助手,编程方面有什么不懂的问题可以尽管在这里提问,你将会收到热心爱好者的回答。
...