溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

JSON.stringify()方法講解

發(fā)布時(shí)間:2020-10-15 19:51:32 來源:腳本之家 閱讀:107 作者:mumu1998 欄目:web開發(fā)

JSON.stringify()方法是什么呢?

我們在向服務(wù)器發(fā)送數(shù)據(jù)時(shí)一般是字符串。

我們可以使用 JSON.stringify() 方法將 JavaScript 對象轉(zhuǎn)換為字符串。

語法

JSON.stringify(value[, replacer[, space]])

參數(shù)說明:

value:

  • 必需,一個(gè)有效的 JSON 對象。

replacer:

  • 可選。用于轉(zhuǎn)換結(jié)果的函數(shù)或數(shù)組。
  • 如果 replacer 為函數(shù),則 JSON.stringify 將調(diào)用該函數(shù),并傳入每個(gè)成員的鍵和值。使用返回值而不是原始值。如果此函數(shù)返回 undefined,則排除成員。根對象的鍵是一個(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ìn)指定數(shù)目的空格,如果 space 大于 10,則文本縮進(jìn) 10 個(gè)空格。space 有可以使用非數(shù)字,如:\t。

JavaScript 對象轉(zhuǎn)換

var obj = { "name":"runoob", "alexa":10000, "site":"www.runoob.com"};
var myJSON = JSON.stringify(obj);   JavaScript 對象轉(zhuǎn)換為JSON對象
document.getElementById("demo").innerHTML = myJSON;
//JavaScript數(shù)組轉(zhuǎn)換為JSON對象
var arr = [ "Google", "Runoob", "Taobao", "Facebook" ];
var myJSON = JSON.stringify(arr);
document.getElementById("demo").innerHTML = myJSON;

異常

解析數(shù)據(jù)

JSON 不能存儲 Date 對象。

JSON.stringify() 會將所有日期轉(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() 會刪除 JavaScript 對象的函數(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 將刪除對象中的函數(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)容對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,謝謝大家對億速云的支持。如果你想了解更多相關(guān)內(nèi)容請查看下面相關(guān)鏈接

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI