给定一串 JSON 数据,您如何安全地将该字符串转换为 JavaScript 对象?
很显然,你可以通过像...... 这样的东西不安全地做到这一点。
var obj = eval("(" + json + ')');
... 但是这使得我们容易受到包含其他代码的 json 字符串的影响,这对于简单的 eval 来说似乎非常危险。
JSON.parse(jsonString)
是一种纯 JavaScript 方法,只要你能保证一个合理的现代浏览器。
现在不推荐使用 jQuery 方法。请改用此方法:
let jsonObject = JSON.parse(jsonString);
使用弃用的 jQuery 功能的原始答案 :
如果您正在使用 jQuery,请使用:
jQuery.parseJSON( jsonString );
这正是您正在寻找的(请参阅 jQuery 文档 )。
编辑:这个答案适用于 IE <7,现代浏览器检查 Jonathan 的答案。
编辑:这个答案已经过时, Jonathan 上面的回答 ( JSON.parse(jsonString)
)现在是最好的答案 。
JSON.org有许多语言的 JSON 解析器,包括 4 个不同的 Javascript 解析器。我相信大多数人会认为json2.js 是他们的 goto 实现。