安全地将JSON字符串转换为对象

给定一串JSON数据,你怎样才能安全地将该字符串转换为JavaScript对象?

显然你可以用这样的东西不安全地做...

var obj = eval("(" + json + ')');

......但是这让我们容易受到包含其他代码的json字符串的影响,这对于简单的eval来说似乎非常危险。


JSON.parse(jsonString)是一种纯粹的JavaScript方法,只要你能保证一个合理的现代浏览器。


jQuery方法现在已被弃用。 改用此方法:

let jsonObject = JSON.parse(jsonString);

使用弃用的jQuery功能的原始答案:

如果你使用jQuery,只需使用:

jQuery.parseJSON( jsonString );

这正是你正在寻找的(请参阅jQuery文档)。


编辑:这个答案已经过时了,乔纳森的回答如上( JSON.parse(jsonString) )现在是最好的答案。

JSON.org为许多语言提供了JSON解析器,包括4种不同的Javascript语言。 我相信大多数人会考虑json2.js他们的实现。

链接地址: http://www.djcxy.com/p/835.html

上一篇: Safely turning a JSON string into an object

下一篇: Why is [] faster than list()?