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ù)組中的順序一樣。當 value 參數(shù)也為數(shù)組時,將忽略 replacer 數(shù)組。
space:
- 可選,文本添加縮進、空格和換行符,如果 space 是一個數(shù)字,則返回值文本在每個級別縮進指定數(shù)目的空格,如果 space 大于 10,則文本縮進 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)文章
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

