JSON Introduction
JSON 官方網站 : http://www.json.org/
What is JSON?
JSON 的英文全名就是「JavaScript Object Notation」,它實際上就是物件陣列的文字表示法。 JSON 有什麼用呢?你可以當它是種資料交換格式,就像 XML 一樣,你可以將這兩種格式視為相同,可以互相轉換,但不能互相取代。
假設網站回傳一份 XML 文件,我們使用JSON去 parse會比用DOM model 來的簡單明瞭。所以JSON跟Javascript 配合的好處是無庸置疑的。
Sample JSON example:
假設網站回傳一份 XML 文件,我們使用JSON去 parse會比用DOM model 來的簡單明瞭。所以JSON跟Javascript 配合的好處是無庸置疑的。
Sample JSON example:
"student": [ { "name": "Andy", "class": 3, "number": 12 }, { "name": "Mary", "class": 2, "number": 23 } ]
其實XML 是一種很好的資料表示格式,但有時候它就是太囉唆了,JSON 可以簡化這種表示格式,用較少的字元達到相同的效果。因此 JSON 很適合應用在輕量級的網頁應用,為什麼適合在網頁應用呢?因為 JSON 是以 Javascript 的 ECMA-262 3rd Edition 的標準為基準,根本就是 Javascript 的一部分,但是,它也可以用在別的地方,至於還可以在哪裡用?這應該不是重點,總之在web上用最合適啦。
How to use JSON?
舉例,如果你有一串 JSON 的字串,如下:
var json = '{"student": [ {"name": "Andy", "class": 3, "number": 12 }, {"name": "Mary", "class": 2, "number": 23 }]}';
用法如下:
var obj = eval ("(" + json + ")");alert('This school has ' + obj.student.length + 'student.');alert(obj.student[0].name);alert(obj.student[1].name);
上述是利用 eval() 來將 JSON 字串轉成Object。但是呼叫 eval() 是危險的,因為他會執行任何字串中的 Javascript 程式碼,容易有危險,所以一般都建議引用官網上所提供的parser :
Relation with AJAX and Other
我們在實作 AJAX 時,通常有兩種作法:
(1). 伺服器回傳一段 Javascript 由瀏覽器去執行。
(2). 伺服器回傳一段 XML 由瀏覽器去解讀。
一個控制權在Server端,一個則是在Client端,其實各有利弊,使用的時機也不太一樣。但是我們可以用JSON來代替(2)的XML,其中的好處已在一開始說明過了。
與AJAX一樣 ,一般 Web UI 應用也是可以使用 JSON 的,現在一般的 UI 設計都是以Server端的 PHP、ASP、CGI及JSP 等來控制網頁的編排。其實JSON 可以與 PHP…等Server端技術之Object互相轉換,而且同樣可以在Client端將資料轉換成 JSON 格式,到了Server端,轉換成Object,一樣可以做資料檢查驗證等,甚至能轉換成DataBase的格式,且存進DataBase。
其他資源:
How to use JSON to improve AJAX AP http://www.developer.com/lang/jscript/article.php/3596836
沒有留言:
張貼留言