JSON.stringify()方法講解
JSON.stringify()方法是什么呢?
我們?cè)谙蚍?wù)器發(fā)送數(shù)據(jù)時(shí)一般是字符串。
我們可以使用 JSON.stringify() 方法將 JavaScript 對(duì)象轉(zhuǎn)換為字符串。
語法
JSON.stringify(value[, replacer[, space]])
參數(shù)說明:
value:
- 必需,一個(gè)有效的 JSON 對(duì)象。
replacer:
- 可選。用于轉(zhuǎn)換結(jié)果的函數(shù)或數(shù)組。
- 如果 replacer 為函數(shù),則 JSON.stringify 將調(diào)用該函數(shù),并傳入每個(gè)成員的鍵和值。使用返回值而不是原始值。如果此函數(shù)返回 undefined,則排除成員。根對(duì)象的鍵是一個(gè)空字符串:""。
- 如果 replacer 是一個(gè)數(shù)組,則僅轉(zhuǎn)換該數(shù)組中具有鍵值的成員。成員的轉(zhuǎn)換順序與鍵在數(shù)組中的順序一樣。當(dāng) value 參數(shù)也為數(shù)組時(shí),將忽略 replacer 數(shù)組。
space:
- 可選,文本添加縮進(jìn)、空格和換行符,如果 space 是一個(gè)數(shù)字,則返回值文本在每個(gè)級(jí)別縮進(jìn)指定數(shù)目的空格,如果 space 大于 10,則文本縮進(jìn) 10 個(gè)空格。space 有可以使用非數(shù)字,如:\t。
JavaScript 對(duì)象轉(zhuǎn)換
var obj = { "name":"runoob", "alexa":10000, "site":"www.runoob.com"};
var myJSON = JSON.stringify(obj); JavaScript 對(duì)象轉(zhuǎn)換為JSON對(duì)象
document.getElementById("demo").innerHTML = myJSON;
//JavaScript數(shù)組轉(zhuǎn)換為JSON對(duì)象
var arr = [ "Google", "Runoob", "Taobao", "Facebook" ];
var myJSON = JSON.stringify(arr);
document.getElementById("demo").innerHTML = myJSON;
異常
解析數(shù)據(jù)
JSON 不能存儲(chǔ) Date 對(duì)象。
JSON.stringify() 會(huì)將所有日期轉(zhuǎn)換為字符串。
<p id="demo"></p>
<script>
var obj = { "name":"Runoob", "initDate":new Date(), "site":"www.runoob.com"};
var myJSON = JSON.stringify(obj);
document.getElementById("demo").innerHTML = myJSON;
</script>
解析函數(shù)
JSON 不允許包含函數(shù),JSON.stringify() 會(huì)刪除 JavaScript 對(duì)象的函數(shù),包括 key 和 value。
<p id="demo"></p>
<script>
var obj = { "name":"Runoob", "alexa":function () {return 10000;}, "site":"www.runoob.com"};
var myJSON = JSON.stringify(obj);
document.getElementById("demo").innerHTML = myJSON;
</script>
結(jié)果為
JSON.stringify 將刪除對(duì)象中的函數(shù)
{"name":"Runoob","site":www.runoob.com}
我們可以在執(zhí)行 JSON.stringify() 函數(shù)前將函數(shù)轉(zhuǎn)換為字符串來避免以上問題的發(fā)生:
eg:<p id="demo"></p>
<script>
var obj = { "name":"Runoob", "alexa":function () {return 10000;}, "site":"www.runoob.com"};
obj.alexa = obj.alexa.toString();
var myJSON = JSON.stringify(obj);
document.getElementById("demo").innerHTML = myJSON;
</script>
總結(jié)
以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,謝謝大家對(duì)腳本之家的支持。如果你想了解更多相關(guān)內(nèi)容請(qǐng)查看下面相關(guān)鏈接
相關(guān)文章
javascript 拖放效果實(shí)現(xiàn)代碼
JavaScript擅長于修改頁面中的DOM元素,但是我們使用JavaScript通常只是實(shí)現(xiàn)一些簡單功能,例如實(shí)現(xiàn)圖片的翻轉(zhuǎn),網(wǎng)頁中的標(biāo)簽頁,等等。這篇文章將向你展示如何在頁面中,對(duì)創(chuàng)建的元素實(shí)現(xiàn)拖放。2010-01-01
JS使用for循環(huán)遍歷Table的所有單元格內(nèi)容
JS遍歷Table的所有單元格內(nèi)容思路是遍歷Table的所有Row,遍歷Row中的每一列,獲取Table中單元格的內(nèi)容2014-08-08
JS日期格式化之javascript Date format
這篇文章主要介紹了JS日期格式化之javascript Date format的相關(guān)資料,需要的朋友可以參考下2015-10-10
echarts實(shí)現(xiàn)晶體球面投影的實(shí)例教程
這篇文章主要給大家介紹了關(guān)于echarts實(shí)現(xiàn)晶體球面投影的相關(guān)資料,文中介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-10-10

