JSON基礎(一)
什麼是 JSON ?
JSON JavaScript Object Notation(JavaScript 物件表示法)
JSON 是輕量級的文字資料交換格式,它和XML相似,但比XML更小,更快,更易解析,更容易被理解。
JSON 獨立於語言:JSON 使用 Javascript語法來描述資料物件,但是 JSON 仍然獨立於語言和平臺。
JSON 解析器和 JSON 庫支援許多不同的程式語言。 目前非常多的動態(PHP,JSP,.NET)程式語言都支援JSON。
JSON 轉換成JavaScript :JavaScript 程式能夠使用內建的 eval() 函式,用 JSON 資料來生成原生的 JavaScript物件,無需轉換器。
1.JSON資料格式:整數,浮點數,字串,陣列,物件,null,布林值(true/false)
整數/浮點數:{"age":30}
布林值{"bool":true}
null:{"year":null}
物件:用{},{"name":"yang" , "call":"haha" }//這是一個物件,兩個鍵值對,物件可以建立多個鍵值對,多個鍵值對之間用,隔開
陣列:用[],{
"array": [
{ "name":"a" , "url":"hahaha" },
{ "name":"b" , "url":"ououou" },
{ "name":"c" , "url":"yeyeye" }
]
}//array是一個數組,三個物件,每個物件包含兩個鍵值對
["a","b","c"]//也是一陣列
2.物件的訪問(四種)var a={ "name":"yang" , "call":"haha" };
var b=a.name;
var b=a.["name"];
for (x in a) {
document.getElementById("div1").innerHTML += x + "<br>";//輸出的是屬性(name和call)
}
for (x in myObj) {
document.getElementById("div2").innerHTML += a[x] + "<br>";//輸出的是值(yang或haha)
}
3.巢狀JSON物件
a= {
"name":"yang",
"age":21,
"sites": {
"play":"ball",
"call":"hahaha",
"work":"java"
}
}
巢狀物件訪問:x = a.sites.play;/x = a.sites["play"];
巢狀物件修改:a.sites.play = "swim";/a.sites["play"] = "swim";
巢狀物件的刪除:delete a.sites.play;/delete a.sites["play"];
4.JSON陣列var shuzu={
"play":"ball",
"call":"hahaha",
"array": ["a","b","c"]
}
陣列的訪問:x=shuzu.array[0];
可以使用for-in或普通的for迴圈訪問
for (i in shuzu.array) {
x += shuzu.array[i] + "<br>";
}
for (i = 0; i < shuzu.array.length; i++) {
x += shuzu.array[i] + "<br>";
}
陣列的修改:shuzu.array[1]="d";
陣列的刪除:delete shuzu.array[1];