JavaScript中解析JSON數(shù)據(jù)的三種方法
概述
現(xiàn)在JSON格式在web開發(fā)中越來越受重視,特別是在使用ajax開發(fā)項目的過程中,經(jīng)常需要將json格式的字符串返回到前端,前端解析成JS對象(JSON )。
ECMA-262(E3)中沒有將JSON概念寫到標(biāo)準(zhǔn)中,還好在 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標(biāo)準(zhǔn),默認(rèn)實現(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就換過來了。
相關(guān)文章
javascript實現(xiàn)將數(shù)字轉(zhuǎn)成千分位的方法小結(jié)【5種方式】
這篇文章主要介紹了javascript實現(xiàn)將數(shù)字轉(zhuǎn)成千分位的方法,結(jié)合實例形式分析了5種常用的數(shù)字轉(zhuǎn)換的常用方法,涉及字符串與正則操作的相關(guān)技巧,需要的朋友可以參考下2016-12-12
layui使用button按鈕 點擊出現(xiàn)彈層 彈層中加載表單的實例
今天小編就為大家分享一篇layui使用button按鈕 點擊出現(xiàn)彈層 彈層中加載表單的實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-09-09
js貪吃蛇網(wǎng)頁版游戲特效代碼分享(挑戰(zhàn)十關(guān))
這篇文章主要為大家詳細介紹了js貪吃蛇網(wǎng)頁版游戲特效,游戲總共有十關(guān),文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2015-08-08
webpack中的filename 和 chunkFilename 的區(qū)別實例解析
filename 指列在 entry 中,打包后輸出的文件的名稱,chunkFilename 指未列在 entry 中,卻又需要被打包出來的文件的名稱,這篇文章主要介紹了webpack中的filename 和 chunkFilename 的區(qū)別實例解析,需要的朋友可以參考下2023-11-11
JavaScript與ActionScript3兩者的同性與差異性
接觸JavaScript和ActionScript3也有近5年的時間了,它們都是應(yīng)用比較廣泛的腳本語言.接下來通過本文給大家介紹JavaScript與ActionScript3兩者的同性與差異性,感興趣的朋友一起學(xué)習(xí)吧2016-09-09

