JSON.stringify()——JS轉JSON

來源:互聯網
上載者:User

標籤:bag   awb   zsh   ati   vtk   mku   space   art   dhx   

JSON.stringify()

JSON 通常用於與服務端交換資料。

在向伺服器發送資料時一般是字串。

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

文法

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

參數說明:

  • value:

    必需, 一個有效 JSON 字串。

  • replacer:

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

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

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

  • space:

    可選,文本添加縮排、空格和分行符號,如果 space 是一個數字,則傳回值文本在每個層級縮排指定數目的空格,如果 space 大於 10,則文本縮排 10 個空格。space 有可以使用非數字,如:\t。

JavaScript 對象轉換

例如我們向伺服器發送以下資料:

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

 

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

var myJSON = JSON.stringify(obj);

 

myJSON 為字串。

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

var obj = { "name":"runoob", "alexa":10000, "site":"www.runoob.com"};var myJSON = JSON.stringify(obj);document.getElementById("demo").innerHTML = myJSON;
JavaScript 數群組轉換

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

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

 

myJSON 為字串。

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

var arr = [ "Google", "Runoob", "Taobao", "Facebook" ];var myJSON = JSON.stringify(arr);document.getElementById("demo").innerHTML = myJSON;
異常解析資料

JSON 不能儲存 Date 對象。

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

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

 

結果:

解析函數

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

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

結果:

 

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

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;

結果:

 

JSON.stringify()——JS轉JSON

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.