JS對象與json字符串相互轉(zhuǎn)換實現(xiàn)方法示例
本文實例講述了JS對象與json字符串相互轉(zhuǎn)換實現(xiàn)方法。分享給大家供大家參考,具體如下:
今天在面試的時候,面試官問到js對象與json字符串的互轉(zhuǎn)問題,由于自己平時在用的時候沒有在意,而且在工作中由于用的較少,沒有答上來,所以今天特地查查資料復習一下, 鞏固一下這方面的知識。
1、js對象轉(zhuǎn)換成json字符串
在與后端進行交互時,有時需要把js對象轉(zhuǎn)換成json字符串格式,這時我們需要去引用一下json2.js這個文件,然后調(diào)用JSON.stringify()方法。例如:
var data = new Object(); var jsonData = JSON.stringify(data);
2、json字符串轉(zhuǎn)換成js對象
在工作中在ajax獲取后端數(shù)據(jù)時,獲取到的是json格式,有時就需要我們轉(zhuǎn)換成js對象格式。在這里我們使用jQuery的一個$.parseJSON()方法將JSON格式的數(shù)據(jù)轉(zhuǎn)換成js對象格式。例如:
var jsonData = $.getJSON(); var data = $.parseJSON(jsonData);
當然,還可以使用JSON.parse()方法,方法同上,但是有的瀏覽器對JSON.parse()的支持不是很理想,所以在使用時盡量使用.parseJSON()方法。.parseJSON()方法在瀏覽器支持時會返回執(zhí)行JSON.parse()方法的結(jié)果,否則會返回類似執(zhí)行eval()方法的結(jié)果,具體參考jQuery1.9.1得出:
parseJSON: function( data ) {
// Attempt to parse using the native JSON parser first
if ( window.JSON && window.JSON.parse ) {
return window.JSON.parse( data );
}
if ( data === null ) {
return data;
}
if ( typeof data === "string" ) {
// Make sure leading/trailing whitespace is removed (IE can't handle it)
data = jQuery.trim( data );
if ( data ) {
// Make sure the incoming data is actual JSON
// Logic borrowed from http://json.org/json2.js
if ( rvalidchars.test( data.replace( rvalidescape, "@" )
.replace( rvalidtokens, "]" )
.replace( rvalidbraces, "")) ) {
return ( new Function( "return " + data ) )();
}
}
}
jQuery.error( "Invalid JSON: " + data );
},
這樣就完成了js對象與JSON字符串的互轉(zhuǎn)了。
PS:這里再為大家推薦幾款比較實用的json在線工具供大家參考使用:
在線JSON代碼檢驗、檢驗、美化、格式化工具:
http://tools.jb51.net/code/json
JSON在線格式化工具:
http://tools.jb51.net/code/jsonformat
在線XML/JSON互相轉(zhuǎn)換工具:
http://tools.jb51.net/code/xmljson
json代碼在線格式化/美化/壓縮/編輯/轉(zhuǎn)換工具:
http://tools.jb51.net/code/jsoncodeformat
在線json壓縮/轉(zhuǎn)義工具:
http://tools.jb51.net/code/json_yasuo_trans
更多關于JavaScript相關內(nèi)容可查看本站專題:《JavaScript中json操作技巧總結(jié)》、《JavaScript查找算法技巧總結(jié)》、《JavaScript錯誤與調(diào)試技巧總結(jié)》、《JavaScript數(shù)據(jù)結(jié)構與算法技巧總結(jié)》、《JavaScript遍歷算法與技巧總結(jié)》及《JavaScript數(shù)學運算用法總結(jié)》
希望本文所述對大家JavaScript程序設計有所幫助。
相關文章
js基于FileSaver.js 瀏覽器導出Excel文件的示例
本篇文章主要介紹了js基于FileSaver.js 瀏覽器導出Excel文件的示例,具有一定的參考價值,有興趣的可以了解一下2017-08-08
JS前端開發(fā)模擬虛擬dom轉(zhuǎn)真實dom詳解
這篇文章主要為大家介紹了JS前端開發(fā)模擬虛擬dom轉(zhuǎn)真實dom詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2023-01-01
JavaScript實現(xiàn)帶并發(fā)限制的異步調(diào)度器
這篇文章主要為大家詳細介紹了如何基于JS實現(xiàn)一個帶并發(fā)限制的異步調(diào)度器?Scheduler,保證同時運行的任務最多有N個,感興趣的小伙伴可以了解下2024-03-03
深入淺析JavaScript中的in關鍵字和for-in循環(huán)
這篇文章主要介紹了JavaScript中的in關鍵字和for-in循環(huán),本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-04-04
javascript檢測瀏覽器的縮放狀態(tài)實現(xiàn)代碼
這篇文章主要介紹了javascript檢測瀏覽器的縮放狀態(tài)實現(xiàn)代碼,需要的朋友可以參考下2014-09-09

