javascript
JSON学习笔记(五)- 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 有可以使用非數字,如:\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"};varmyJSON = JSON.stringify(obj);document.getElementById("demo").innerHTML = myJSON;JavaScript 數組轉換
我們也可以將 JavaScript 數組轉換為 JSON 字符串:
實例
var arr = ["Google","Runoob","Taobao","Facebook"];varmyJSON = JSON.stringify(arr);myJSON 為字符串。
我們可以將 myJSON 發送到服務器:
實例
var arr = ["Google","Runoob","Taobao","Facebook"];varmyJSON = JSON.stringify(arr);document.getElementById("demo").innerHTML = myJSON;異常
解析數據
JSON 不能存儲 Date 對象。
JSON.stringify() 會將所有日期轉換為字符串。
實例
var obj = {"name":"Runoob","initDate":newDate(),"site":"www.runoob.com"};varmyJSON = JSON.stringify(obj);document.getElementById("demo").innerHTML = myJSON;之后你可以再將字符串轉換為 Date 對象。
解析函數
JSON 不允許包含函數,JSON.stringify() 會刪除 JavaScript 對象的函數,包括 key 和 value。
實例
var obj = {"name":"Runoob","alexa":function(){return10000;},"site":"www.runoob.com"};varmyJSON = JSON.stringify(obj);document.getElementById("demo").innerHTML = myJSON;我們可以在執行 JSON.stringify() 函數前將函數轉換為字符串來避免以上問題的發生:
實例
var obj = {"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
總結
以上是生活随笔為你收集整理的JSON学习笔记(五)- JSON.stringify()的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: JSON学习笔记(四)- JSON.pa
- 下一篇: JSON学习笔记(六)- JSONP