介紹 我們知道AJAX技術能夠使得每一次請求更加迅捷,對於每一次請求返回的不是整個頁面,也僅僅是所需要返回的數據。通常AJAX通過返回XML格式的數據,然後再通過客戶端復雜的JavaScript腳本解析和渲染這些XML格式的數據。
JSON(讀Jason)是為了能夠使得數據格式成為一種標准,更簡單的被JavaScript解析。
優點
1、輕量級的數據交換格式
2、人們讀寫更加容易
3、易於機器的解析和生成
4、能夠通過JavaScript中eval()函數解析JSON
5、JSON支持多語言。包括:ActionScript, C, C#, ColdFusion, E, Java, JavaScript, ML, Objective CAML, Perl, PHP, Python, Rebol, Ruby, and Lua.
語法
JSON語法是一種用於傳輸和生成數據的協定,很類似於C家族的語言,所以很容易被C家族的語言所解析。
對象:對象包含在{}之間
屬性:采用Key-Value對來表示。屬性之間使用逗號分開。 string : value
數組:數組存放在[]之間 [ elements ]
元素:元素之間用逗號分開
值:值可以是字符串,數字,對象,數組,true,false,null
例子:
JSON
[
{
name:"Michael",
email:"17bity@gmail.com",
homepage:"http://www.jialing.net"
},
{
name:"John",
email:"john@gmail.com",
homepage:"http://www.jobn.com"
},
{
name:"Peggy",
email:"peggy@gmail.com",
homepage:"http://www.peggy.com"
}
]
事實上google maps就沒有采用XML傳遞數據,而是采用了JSON方案。
JSON的另外一個優勢是"跨域性",例如你在網頁裡使用
<script type="text/javascript" src="http://www.yyy.com/some.js">
是完全可行的,這就意味著你可以跨域傳遞信息。而使用XMLHttpRequest卻獲取不了跨域的信息,這是Javascript內部的安全性質所限制的。
JSON能完全取代XML嗎?當然不能,原因就在於XML的優勢:通用性。要使服務器端產生語法合格的Javascript代碼並不是很容易做到的,這主要發生在比較龐大的系統,服務器端和客戶端有不同的開發人員。