2010-02-21 91 views
0

我目前在JavaScript中使用eval将从服务器返回的JSON数据转换为对象。将JSON数据转换为JavaScript中的对象的最佳方法?

eval ("myObject="+data); 

我被告知,eval是'邪恶',可以打开很大的安全问题。

我想知道 - 是否使用eval将JSON数据转换为对象的公认惯例?或者,还有更好的方法?

+0

现在我很好奇,如果'JSON.parse'不是回事情的话.. – towerofnix 2016-01-09 20:57:54

回答

1

eval被认为是不好的做法的原因是用户可以评估从服务器发送的任何内容。这意味着,如果您有评论论坛并且用户提交了一些JavaScript代码以供评论,并且您在客户端评估,那么您的网站很容易被劫持。

我喜欢JQuery-Json插件。你可以检查出来使用下面的链接:

link text

+0

即使约翰Resig的建议您使用json2.js图书馆。它也作为jQuery.parseJSON烘焙到jquery 1.4.2中 - 如果这是你需要的唯一函数(而不是解析_and_ stringify)。我会说jquery-json在这里再也没有地方了。另外,我们不能假定jQuery在一个非jQuery标记的问题上 – 2010-02-21 05:50:35

+0

如果Job Resig建议使用json2.js,那么我现在正在转向json2.js。谢谢! – azamsharp 2010-02-21 16:29:10

相关问题