问题

This question already has an answer here:

我想在JavaScript中解析JSON字符串.响应类似

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

如何获取 result count 的值?



解决方法

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

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

alert(obj.count);

对于不是的浏览器,您可以使用 json2.js 实现.

如注释中所述,如果您已在使用jQuery,则有一个 $.parseJSON 函数映射到 JSON.parse eval 在旧版的浏览器.但是,这会执行额外的,不必要的检查,也由 JSON.parse 执行,所以为了最好的全方位性能,我建议使用它,像这样:

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

这将确保您立即使用本机 JSON.parse ,而不是让jQuery对字符串执行完整性检查,然后将其传递给本机解析函数.




相关问题推荐