JSON.stringify()方法講解
JSON.stringify()方法是什么呢?
我們在向服務(wù)器發(fā)送數(shù)據(jù)時一般是字符串。
我們可以使用 JSON.stringify() 方法將 JavaScript 對象轉(zhuǎn)換為字符串。
語法
JSON.stringify(value[, replacer[, space]])
參數(shù)說明:
value:
- 必需,一個有效的 JSON 對象。
replacer:
- 可選。用于轉(zhuǎn)換結(jié)果的函數(shù)或數(shù)組。
- 如果 replacer 為函數(shù),則 JSON.stringify 將調(diào)用該函數(shù),并傳入每個成員的鍵和值。使用返回值而不是原始值。如果此函數(shù)返回 undefined,則排除成員。根對象的鍵是一個空字符串:""。
- 如果 replacer 是一個數(shù)組,則僅轉(zhuǎn)換該數(shù)組中具有鍵值的成員。成員的轉(zhuǎn)換順序與鍵在數(shù)組中的順序一樣。當(dāng) value 參數(shù)也為數(shù)組時,將忽略 replacer 數(shù)組。
space:
- 可選,文本添加縮進(jìn)、空格和換行符,如果 space 是一個數(shù)字,則返回值文本在每個級別縮進(jìn)指定數(shù)目的空格,如果 space 大于 10,則文本縮進(jìn) 10 個空格。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í)價值,謝謝大家對腳本之家的支持。如果你想了解更多相關(guān)內(nèi)容請查看下面相關(guān)鏈接
相關(guān)文章
JavaScript中Number對象的toFixed() 方法詳解
下面小編就為大家?guī)硪黄狫avaScript中Number對象的toFixed() 方法詳解。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2016-09-09新發(fā)現(xiàn)一個騙鏈接的方法(js讀取cookies)
新發(fā)現(xiàn)一個騙鏈接的方法(js讀取cookies),需要的朋友可以參考下。2012-01-01JavaScript sort數(shù)組排序方法和自我實現(xiàn)排序方法小結(jié)
這篇文章主要介紹了JavaScript sort數(shù)組排序方法和自我實現(xiàn)排序方法小結(jié)的相關(guān)資料,非常不錯具有參考借鑒價值,需要的朋友可以參考下2016-06-06JavaScript String 對象常用方法總結(jié)
下面小編就為大家?guī)硪黄狫avaScript String 對象常用方法總結(jié)。小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考2016-04-04JS前端框架關(guān)于重構(gòu)的失敗經(jīng)驗分享
關(guān)于重構(gòu)JS前端框架的失敗經(jīng)驗接下來與大家分享一下,感興趣的你可不要錯過了哈,畢竟是經(jīng)驗之談哈2013-03-03