JSON.stringify()方法講解
JSON.stringify()方法是什么呢?
我們在向服務器發(fā)送數(shù)據(jù)時一般是字符串。
我們可以使用 JSON.stringify() 方法將 JavaScript 對象轉換為字符串。
語法
JSON.stringify(value[, replacer[, space]])
參數(shù)說明:
value:
- 必需,一個有效的 JSON 對象。
replacer:
- 可選。用于轉換結果的函數(shù)或數(shù)組。
- 如果 replacer 為函數(shù),則 JSON.stringify 將調用該函數(shù),并傳入每個成員的鍵和值。使用返回值而不是原始值。如果此函數(shù)返回 undefined,則排除成員。根對象的鍵是一個空字符串:""。
- 如果 replacer 是一個數(shù)組,則僅轉換該數(shù)組中具有鍵值的成員。成員的轉換順序與鍵在數(shù)組中的順序一樣。當 value 參數(shù)也為數(shù)組時,將忽略 replacer 數(shù)組。
space:
- 可選,文本添加縮進、空格和換行符,如果 space 是一個數(shù)字,則返回值文本在每個級別縮進指定數(shù)目的空格,如果 space 大于 10,則文本縮進 10 個空格。space 有可以使用非數(shù)字,如:\t。
JavaScript 對象轉換
var obj = { "name":"runoob", "alexa":10000, "site":"www.runoob.com"};
var myJSON = JSON.stringify(obj); JavaScript 對象轉換為JSON對象
document.getElementById("demo").innerHTML = myJSON;
//JavaScript數(shù)組轉換為JSON對象
var arr = [ "Google", "Runoob", "Taobao", "Facebook" ];
var myJSON = JSON.stringify(arr);
document.getElementById("demo").innerHTML = myJSON;
異常
解析數(shù)據(jù)
JSON 不能存儲 Date 對象。
JSON.stringify() 會將所有日期轉換為字符串。
<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>
結果為
JSON.stringify 將刪除對象中的函數(shù)
{"name":"Runoob","site":www.runoob.com}
我們可以在執(zhí)行 JSON.stringify() 函數(shù)前將函數(shù)轉換為字符串來避免以上問題的發(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>
總結
以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學習或者工作具有一定的參考學習價值,謝謝大家對腳本之家的支持。如果你想了解更多相關內(nèi)容請查看下面相關鏈接
相關文章
JavaScript中Number對象的toFixed() 方法詳解
下面小編就為大家?guī)硪黄狫avaScript中Number對象的toFixed() 方法詳解。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2016-09-09
新發(fā)現(xiàn)一個騙鏈接的方法(js讀取cookies)
新發(fā)現(xiàn)一個騙鏈接的方法(js讀取cookies),需要的朋友可以參考下。2012-01-01
JavaScript sort數(shù)組排序方法和自我實現(xiàn)排序方法小結
這篇文章主要介紹了JavaScript sort數(shù)組排序方法和自我實現(xiàn)排序方法小結的相關資料,非常不錯具有參考借鑒價值,需要的朋友可以參考下2016-06-06

