我正在编写一个脚本,我需要在不支持 JSON.parse() 的浏览器中解析 JSON。我有严格的大小目标(总大小 < 20 kb),所以我不能依赖像 jQuery 这样的外部库。
通常的方法是使用 eval() 但我担心它不安全,因为我无法控制 JSON 字符串(由外部源提供)。
我想出了使用脚本标签来创建我的对象的想法:
var json='{"name":"Me","age":"30"}';
var scr=document.createElement("script");
scr.innerHTML="var obj="+json;
document.body.appendChild(scr);
这似乎有效,如此处所示:http: //jsfiddle.net/bz8f7/
我在这里错过了什么吗?是否存在我的方法不起作用或不安全的情况?
注意:我知道这个方法会创建一个全局变量,我对我的用例很好。