當前位置:
首頁 > 知識 > JSON程序的stringify()

JSON程序的stringify()

JSON 通常用於與服務端交換數據。

在向伺服器發送數據時一般是字元串。

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

語法

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

參數說明:

  • value:

    必需, 一個有效的 JSON 字元串。

  • replacer:

    可選。用於轉換結果的函數或數組。

    如果 replacer 為函數,則 JSON.stringify 將調用該函數,並傳入每個成員的鍵和值。使用返回值而不是原始值。如果此函數返回 undefined,則排除成員。根對象的鍵是一個空字元串:""。

    如果 replacer 是一個數組,則僅轉換該數組中具有鍵值的成員。成員的轉換順序與鍵在數組中的順序一樣。當 value 參數也為數組時,將忽略 replacer 數組。

  • space:

    可選,文本添加縮進、空格和換行符,如果 space 是一個數字,則返回值文本在每個級別縮進指定數目的空格,如果 space 大於 10,則文本縮進 10 個空格。space 有可以使用非數字,如: 。


JavaScript 對象轉換

例如我們向伺服器發送以下數據:

varobj = {"name":"runoob", "alexa":10000, "site":"www.runoob.com"};

我們使用 JSON.stringify() 方法處理以上數據,將其轉換為字元串:

varmyJSON = JSON.stringify(obj);

myJSON 為字元串。

我們可以將 myJSON 發送到伺服器:

實例

varobj = {"name":"runoob", "alexa":10000, "site":"www.runoob.com"};varmyJSON = JSON.stringify(obj);document.getElementById("demo").innerHTML = myJSON;

JSON程序的stringify()



JavaScript 數組轉換

我們也可以將 JavaScript 數組轉換為 JSON 字元串:

實例

vararr = ["Google", "Runoob", "Taobao", "Facebook"];varmyJSON = JSON.stringify(arr);

myJSON 為字元串。

我們可以將 myJSON 發送到伺服器:

實例

vararr = ["Google", "Runoob", "Taobao", "Facebook"];varmyJSON = JSON.stringify(arr);document.getElementById("demo").innerHTML = myJSON;

嘗試一下 ?



異常

解析數據

JSON 不能存儲 Date 對象。

JSON.stringify() 會將所有日期轉換為字元串。

實例

varobj = {"name":"Runoob", "initDate":newDate(), "site":"www.runoob.com"};varmyJSON = JSON.stringify(obj);document.getElementById("demo").innerHTML = myJSON;

嘗試一下 ?

之後你可以再將字元串轉換為 Date 對象。



解析函數

JSON 不允許包含函數,JSON.stringify() 會刪除 JavaScript 對象的函數,包括 key 和 value。

實例

varobj = {"name":"Runoob", "alexa":function(){return10000;}, "site":"www.runoob.com"};varmyJSON = JSON.stringify(obj);
document.getElementById("demo").innerHTML = myJSON;

嘗試一下 ?

我們可以在執行 JSON.stringify() 函數前將函數轉換為字元串來避免以上問題的發生:

實例

varobj = {"name":"Runoob", "alexa":function(){return10000;}, "site":"www.runoob.com"};obj.alexa = obj.alexa.toString();varmyJSON = JSON.stringify(obj);
document.getElementById("demo").innerHTML = myJSON;

嘗試一下 ?

不建議在 JSON 中使用函數。



瀏覽器支持

主流瀏覽器都支持 JSON.stringify() 函數:

  • Firefox 3.5

  • Internet Explorer 8

  • Chrome

  • Opera 10

  • Safari 4

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 程序員小新人學習 的精彩文章:

jQuery UI 實例-自動完成(Autocomplete)
jQuery UI 使用

TAG:程序員小新人學習 |