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

问题描述:

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

Given a string of JSON data, how can I safely turn that string into a JavaScript object?

显然,我可以通过以下方式不安全地执行此操作:

Obviously I can do this unsafely with something like:

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

但这让我容易受到包含其他代码的 JSON 字符串的影响,简单地 eval 似乎非常危险.

but that leaves me vulnerable to the JSON string containing other code, which it seems very dangerous to simply eval.

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

JSON.parse(jsonString) is a pure JavaScript approach so long as you can guarantee a reasonably modern browser.