javascript
JSON总结笔记
一.json對象語法
{"name":"runoob", "alexa":10000,"site":null }
JSON 對象使用在大括號{}中書寫。
對象可以包含多個?key/value(鍵/值)對。
key 必須是字符串,value 可以是合法的 JSON 數據類型(字符串, 數字, 對象, 數組, 布爾值或 null)。
key 和 value 中使用冒號(:)分割。
每個 key/value 對使用逗號(,)分割。
二.json 循環對象
你可以使用 for-in 來循環對象的屬性:
實例
var myObj = {"name":"runoob", "alexa":10000,"site":null };
for (x in myObj) {
???document.getElementById("demo").innerHTML += x +"<br>";
}
在 for-in 循環對象的屬性時,使用中括號[]來訪問屬性的值:
實例
var myObj = {"name":"runoob", "alexa":10000,"site":null };
for (x in myObj) {
document.getElementById("demo").innerHTML+= myObj[x] + "<br>";
}
三.json對象修改值
可以使用點號(.)來修改 JSON 對象的值:
myObj.sites.site1 ="www.google.com";
可以使用中括號([])來修改 JSON 對象的值:
myObj.sites["site1"] ="www.google.com";
四.JSON數組
1.數組作為 JSON 對象
實例
["Google", "Runoob", "Taobao"]
JSON 數組在中括號中書寫。
JSON 中數組值必須是合法的 JSON 數據類型(字符串, 數字, 對象, 數組, 布爾值或 null)。
JavaScript 中,數組值可以是以上的 JSON 數據類型,也可以是 JavaScript 的表達式,包括函數,日期,及?undefined。
2. 嵌套 JSON 對象中的數組
myObj = {
???"name":"網站",
???"num":3,
???"sites": [
???????{ "name":"Google", "info":["Android", "Google 搜索","Google 翻譯" ] },
???????{ "name":"Runoob", "info":[ "菜鳥教程", "菜鳥工具", "菜鳥微信" ] },
???????{ "name":"Taobao", "info":[ "淘寶", "網購" ] }
???]
}
我們可以使用 for-in 來循環訪問每個數組:
實例
for (i in myObj.sites) {
???x += "<h1>" +myObj.sites[i].name + "</h1>";
???for (j in myObj.sites[i].info) {
???????x += myObj.sites[i].info[j] + "<br>";
???}
}
3.修改數組值
你可以使用索引值來修改數組值:
實例
myObj.sites[1] = "Github";
4.刪除數組元素
我們可以使用 delete 關鍵字來刪除數組元素:
實例
delete myObj.sites[1];
五. JSON.parse()
JSON 通常用于與服務端交換數據。
在接收服務器數據時一般是字符串。
我們可以使用 JSON.parse() 方法將數據轉換為 JavaScript 對象。
語法
JSON.parse(text[,reviver])
參數說明:
1.?????text:必需, 一個有效的 JSON 字符串。
2.?????reviver:可選,一個轉換結果的函數, 將為對象的每個成員調用此函數。
六. 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。
?
轉載于:https://www.cnblogs.com/youth-dream/p/7219463.html
新人創作打卡挑戰賽發博客就能抽獎!定制產品紅包拿不停!總結
- 上一篇: Python中的eval()、exec(
- 下一篇: 12个JavaScript技巧