2010-02-21 92 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

相關問題