JavaScript中解析JSON數(shù)據(jù)的三種方法
概述
現(xiàn)在JSON格式在web開發(fā)中越來越受重視,特別是在使用ajax開發(fā)項目的過程中,經(jīng)常需要將json格式的字符串返回到前端,前端解析成JS對象(JSON )。
ECMA-262(E3)中沒有將JSON概念寫到標準中,還好在 ECMA-262(E5)中JSON的概念被正式引入了,包括全局的JSON對象和Date的toJSON方法。
解析JSON數(shù)據(jù)的三種方法
eval()方法
解析JSON數(shù)據(jù)的最常用方法是使用javascript的eval()方法,代碼如下:
function toJson(str){
var json = eval('(' + str + ')');
return json;
}
該方法存在性能和安全方面的問題,不建議使用。
new Function方法
function toJson(str){
var json = (new Function("return " + str))();
return json;
}
JSON.parse()方法
這種方法只支持IE8/Firefox3.5+/Chrome4/Safari4/Opera10 以上版本,這些瀏覽器都已經(jīng)接近W3C標準,默認實現(xiàn)了toJSON方法。
function toJson(str){
return JSON.parse(str);
}
json2.js會在瀏覽器原生支持JSON.parse的時候選用原生版本,而且它跟ES5是API兼容的。在ES5還沒完全普及的現(xiàn)狀下,John Resig大神推薦用json2.js主要是為了現(xiàn)在就能用跟ES5兼容的API,日后能平滑過渡到ES5——只要去掉一個import就換過來了。
相關文章
js調(diào)用webservice構造SOAP進行身份驗證
這篇文章主要介紹了js調(diào)用webservice構造SOAP進行身份驗證的相關資料,需要的朋友可以參考下2016-04-04JavaScript中如何在一個循環(huán)中等待示例代碼詳解
這篇文章主要介紹了在JavaScript中如何在一個循環(huán)中等待(附代碼示例),下面是如何使用for..of 循環(huán)來迭代一個數(shù)組并在循環(huán)內(nèi)等待,需要的朋友可以參考下2022-08-08javascript 刪除dom對象的事件函數(shù)代碼
本文為《JavaScript高級程序設計》第9章中的跨平臺事件中的部分內(nèi)容。2010-04-04通過event對象的fromElement屬性解決熱區(qū)設置主實體的一個bug
后臺的熱區(qū)管理中,如果鼠標移到熱區(qū)上,會顯示一個提示框,提示框里“設為主實體”、“刪除”和“合并”等超鏈接,點擊這些超鏈接可以進行各種操作。2008-12-12layui 點擊重置按鈕, select 并沒有被重置的解決方法
今天小編就為大家分享一篇layui 點擊重置按鈕, select 并沒有被重置的解決方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-09-09js中的preventDefault與stopPropagation詳解
本篇文章主要是對js中的preventDefault與stopPropagation進行了介紹,需要的朋友可以過來參考下,希望對大家有所幫助2014-01-01javascript如何使用函數(shù)random來實現(xiàn)課堂隨機點名方法詳解
這篇文章主要介紹了javascript如何使用函數(shù)random來實現(xiàn)課堂隨機點名方法詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2020-07-07js 只能輸入數(shù)字和小數(shù)點的文本框改進版
以前的版本不能輸入退格鍵等功能。2009-04-04