js字符串轉(zhuǎn)json對象的四種實(shí)現(xiàn)方法
1. javascript函數(shù)eval()
語法:
var obj = eval ("(" + txt + ")"); //必須把文本包圍在括號中,這樣才能避免語法錯誤eval()定義:eval() 函數(shù)可計(jì)算某個字符串,并執(zhí)行其中的的 JavaScript 代碼。
由于 JSON 語法是 JavaScript 語法的子集,JavaScript 函數(shù) eval() 可用于將 JSON 文本轉(zhuǎn)換為 JavaScript 對象。
注意:當(dāng)字符串中包含表達(dá)式時,eval() 函數(shù)也會編譯并執(zhí)行,轉(zhuǎn)換會存在安全問題。
2. 瀏覽器自帶對象JSON,JSON.parse()
語法:
var obj = JSON.parse(text[, reviver]) //text:必需, 一個有效的 JSON 字符串。解析前要確保你的數(shù)據(jù)是標(biāo)準(zhǔn)的 JSON 格式,否則會解析出錯。 //reviver: 可選,一個轉(zhuǎn)換結(jié)果的函數(shù), 將為對象的每個成員調(diào)用此函數(shù)。
JSON.parse()比eval()安全,而且速度更快。支持主流瀏覽器:Firefox 3.5,IE 8,Chrome,Opera 10,Safari 4。
注意:IE8兼容模式,IE 7,IE 6,會存在兼容性問題。
3. jQuery插件,$.parseJSON()
語法:
var obj = $.parseJSON(json) //json:String類型,傳入格式有誤的JSON字符串可能導(dǎo)致拋出異常
4. ajax請求獲取json數(shù)據(jù)時,$.getJSON()
語法:
jQuery.getJSON(url,data,success(data,status,xhr)) //url 必需。規(guī)定將請求發(fā)送的哪個 URL。 //data 可選。規(guī)定連同請求發(fā)送到服務(wù)器的數(shù)據(jù)。 //success(data,status,xhr) 可選。規(guī)定當(dāng)請求成功時運(yùn)行的函數(shù)。
這個時候返回的data已經(jīng)是JSON對象,不需要再進(jìn)行轉(zhuǎn)換。
$.getJSON() 是簡寫的 Ajax 函數(shù),等價于:
$.ajax({
url: url,
data: data,
success: callback,
dataType: "json"
});總結(jié)
到此這篇關(guān)于js字符串轉(zhuǎn)json對象的四種實(shí)現(xiàn)方法的文章就介紹到這了,更多相關(guān)js字符串轉(zhuǎn)json對象內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Javascript中正則表達(dá)式的應(yīng)用詳解
這篇文章主要為大家詳細(xì)介紹了Javascript中正則表達(dá)式的應(yīng)用,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助2022-02-02
一文帶你掌握J(rèn)avaScript中的執(zhí)行上下文和作用域
作為一名前端工作人員,我們必須知道JavaScript內(nèi)部是如何執(zhí)行的。那對于執(zhí)行上下文和作用域的理解至關(guān)重要,無論是工作還是面試都是無法跳躍的一步,本文就來帶大家深入了解一下2023-02-02
微信小程序?qū)崿F(xiàn)用戶登錄模塊服務(wù)器搭建
這篇文章主要介紹了微信小程序?qū)崿F(xiàn)用戶登錄模塊服務(wù)器搭建,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-05-05
JavaScript實(shí)現(xiàn)點(diǎn)擊自動選擇TextArea文本的方法
這篇文章主要介紹了JavaScript實(shí)現(xiàn)點(diǎn)擊自動選擇TextArea文本的方法,涉及javascript中focus()、select()方法的使用技巧,非常簡單實(shí)用,需要的朋友可以參考下2015-07-07

