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

2022-08-29 22:00:56

给定一个 JSON 数据字符串,如何安全地将该字符串转换为 JavaScript 对象?

显然,我可以用这样的东西来不安全地做到这一点:

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

但是这让我容易受到包含其他代码的JSON字符串的攻击,简单地评估它似乎非常危险。


答案 1

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


答案 2

jQuery 方法现已弃用。请改用此方法:

let jsonObject = JSON.parse(jsonString);

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

如果您使用的是jQuery,只需使用:

jQuery.parseJSON( jsonString );

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