小编典典

评估是邪恶的……那么我该怎么用呢?

ajax

一个ajax请求返回一个标准的JSON数组,其中填充了用户的输入。输入已经过清理,使用eval()函数,我可以轻松创建javascript对象并更新页面。

这就是问题所在。无论我多么努力清理输入,我都不想使用eval()函数。我已经检查了谷歌的方法来使用“没有eval的AJAX中的JSON”,并且遇到了很多不同的方法…

我应该使用哪一个?有没有一种标准的,经过验证的安全方法来做到这一点?


阅读 258

收藏
2020-07-26

共1个答案

小编典典

json.org有一个不错的javascript库

简单用法:

JSON.parse('[{"some":"json"}]');
JSON.stringify([{some:'json'}]);

编辑 :正如评论中指出的那样,如果您查看eval的来源,则将使用eval(尽管它首先要进行清理)

为了完全避免它,请查看json_parsejson-sans-
eval

json2.js不安全,json_parse.js缓慢,json-sans-eval.js未验证

2020-07-26