js字符串轉(zhuǎn)json對(duì)象的四種實(shí)現(xiàn)方法
1. javascript函數(shù)eval()
語(yǔ)法:
var obj = eval ("(" + txt + ")"); //必須把文本包圍在括號(hào)中,這樣才能避免語(yǔ)法錯(cuò)誤
eval()定義:eval() 函數(shù)可計(jì)算某個(gè)字符串,并執(zhí)行其中的的 JavaScript 代碼。
由于 JSON 語(yǔ)法是 JavaScript 語(yǔ)法的子集,JavaScript 函數(shù) eval() 可用于將 JSON 文本轉(zhuǎn)換為 JavaScript 對(duì)象。
注意:當(dāng)字符串中包含表達(dá)式時(shí),eval() 函數(shù)也會(huì)編譯并執(zhí)行,轉(zhuǎn)換會(huì)存在安全問(wèn)題。
2. 瀏覽器自帶對(duì)象JSON,JSON.parse()
語(yǔ)法:
var obj = JSON.parse(text[, reviver]) //text:必需, 一個(gè)有效的 JSON 字符串。解析前要確保你的數(shù)據(jù)是標(biāo)準(zhǔn)的 JSON 格式,否則會(huì)解析出錯(cuò)。 //reviver: 可選,一個(gè)轉(zhuǎn)換結(jié)果的函數(shù), 將為對(duì)象的每個(gè)成員調(diào)用此函數(shù)。
JSON.parse()比eval()安全,而且速度更快。支持主流瀏覽器:Firefox 3.5,IE 8,Chrome,Opera 10,Safari 4。
注意:IE8兼容模式,IE 7,IE 6,會(huì)存在兼容性問(wèn)題。
3. jQuery插件,$.parseJSON()
語(yǔ)法:
var obj = $.parseJSON(json) //json:String類(lèi)型,傳入格式有誤的JSON字符串可能導(dǎo)致拋出異常
4. ajax請(qǐng)求獲取json數(shù)據(jù)時(shí),$.getJSON()
語(yǔ)法:
jQuery.getJSON(url,data,success(data,status,xhr)) //url 必需。規(guī)定將請(qǐng)求發(fā)送的哪個(gè) URL。 //data 可選。規(guī)定連同請(qǐng)求發(fā)送到服務(wù)器的數(shù)據(jù)。 //success(data,status,xhr) 可選。規(guī)定當(dāng)請(qǐng)求成功時(shí)運(yùn)行的函數(shù)。
這個(gè)時(shí)候返回的data已經(jīng)是JSON對(duì)象,不需要再進(jìn)行轉(zhuǎn)換。
$.getJSON() 是簡(jiǎn)寫(xiě)的 Ajax 函數(shù),等價(jià)于:
$.ajax({ url: url, data: data, success: callback, dataType: "json" });
總結(jié)
到此這篇關(guān)于js字符串轉(zhuǎn)json對(duì)象的四種實(shí)現(xiàn)方法的文章就介紹到這了,更多相關(guān)js字符串轉(zhuǎn)json對(duì)象內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
原生JS實(shí)現(xiàn) MUI導(dǎo)航欄透明漸變效果
透明漸變導(dǎo)航是一種解決滾動(dòng)條通頂?shù)淖兺ǚ桨?。這篇文章主要介紹了原生JS實(shí)現(xiàn) MUI導(dǎo)航欄透明漸變效果,需要的朋友可以參考下2017-11-11簡(jiǎn)單實(shí)現(xiàn)js選項(xiàng)卡切換效果
這篇文章主要為大家詳細(xì)介紹了簡(jiǎn)單實(shí)現(xiàn)js選項(xiàng)卡切換效果,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-02-02JavaScript中的幾個(gè)關(guān)鍵概念的理解-原型鏈的構(gòu)建
JavaScript中的prototype,標(biāo)準(zhǔn)翻譯為“原型”,表示對(duì)象的初始形態(tài)2011-05-05webpack-url-loader 解決項(xiàng)目中圖片打包路徑問(wèn)題
這篇文章主要介紹了webpack-url-loader 解決項(xiàng)目中圖片打包路徑問(wèn)題,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2019-02-02javascript實(shí)現(xiàn)計(jì)時(shí)器的簡(jiǎn)單方法
這篇文章主要為大家詳細(xì)介紹了javascript實(shí)現(xiàn)計(jì)時(shí)器的簡(jiǎn)單方法,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-02-02使用Bootstrap typeahead插件實(shí)現(xiàn)搜索框自動(dòng)補(bǔ)全的方法
這篇文章主要介紹了使用Bootstrap typeahead插件實(shí)現(xiàn)搜索框自動(dòng)補(bǔ)全的方法的相關(guān)資料,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下2016-07-07JavaScript實(shí)現(xiàn)單點(diǎn)登錄的示例
這篇文章主要介紹了JavaScript實(shí)現(xiàn)單點(diǎn)登錄的示例,幫助大家更好的理解和使用JavaScript,感興趣的朋友可以了解下2020-09-09JavaScript編寫(xiě)一個(gè)簡(jiǎn)易購(gòu)物車(chē)功能
這篇文章主要為大家詳細(xì)介紹了JavaScript簡(jiǎn)易購(gòu)物車(chē)功能的編寫(xiě)代碼,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-09-09