1.JSON語法是JavaScript對象表示法的子集,語法規則:java
**數據在名稱/值對中web
**數據由逗號分隔跨域
**花括號保存對象數組
**方括號保存數組服務器
2.JSON名稱/值對:JSON數據的書寫格式是:名稱/值對函數
"name":"菜鳥教程"網站
3.JSON的值:google
**數字(整數或浮點數)url
**字符串(在雙引號中)對象
**邏輯值(true或false)
**數組(在方括號中)
**對象(在花括號中)
**null
4.JSON對象:JSON對象在花括號中書寫:對象能夠包括多個名稱/值對
{"name":"菜鳥教程","url":"www.runoob.com"}
5.JSON數組:JSON數組在方括號中書寫,數組能夠包含多個對象:
{"sites":[
{"name":"菜鳥教程","url":"www.runoob.com"},
{"name":"google","url":"www.google.com"},
{"name":"微博","url":"www.weibo.com"}
]
}
6.JSON使用javaScript語法,因此無需額外的軟件就能處理JavaScript中的JSON
經過JavaScript,你能夠建立一個對象數組,並賦值:
var sites=[
{"name":"菜鳥教程","url":"www.runoob.com"},
{"name":"google","url":"www.google.com"},
{"name":"微博","url":"www.weibo.com"}
];
**sites[0].name="菜鳥教程";
7.把JSON文本轉換爲JavaScript對象:
JSON最多見的用法之一,就是從web服務器上讀取JSON數據(做爲文件或做爲HttpRequest),將JSON數據轉換爲JavaScript對象,而後在網頁中使用該數據:
var txt=
'{"site":['+
'{"name":"菜鳥教程","url":"www.runoob.com"},'+
'{"name":"google","url":"www.google.com"},'+
'{"name":"微博","url":"www.weibo.com"}
}';
var obj=eval("("+txt+")");
document.getElementById("name").innerHTML=obj.sites[0].name
document.getElementById("url").innerHTML=obj.site[0].url
8.因爲JSON語法是JavaScript語法的子集,JavaScript函數eval()可用於將JSON文本轉換爲JavaScript對象;eval()函數使用的是JavaScript編譯器,可解析JSON文本,而後生成JavaScript對象;
9.JSONP:JSON with Padding是JSON的一種「使用模式」,能夠讓網頁從別的域名(網站)那獲取資料,即跨域讀取數據