JSON (Javascrīpt Object Notation)
優點:
1. 資料格式比較簡單, 易於讀寫, 格式都是壓縮的, 佔用頻寬小
2. 易於解析這種語言, 用戶端Javascrīpt可以簡單的通過eval()進行JSON資料的讀取
3. 支援多種語言, 包括Actionscrīpt, C, C#, ColdFusion, Java, Javascrīpt, Perl, PHP, Python, Ruby等語言伺服器端語言, 便於伺服器端的解析
4. 在PHP世界, 已經有PHP-JSON和JSON-PHP出現了, 便於PHP序列化後的程式直接調用. PHP伺服器端的對象、數組等能夠直接生JSON格式, 便於用戶端的訪問提取.
另外PHP的PEAR類已經支援 (http://pear.php.net/pepr/pepr-proposal-show.php?id=198)
5. 因為JSON格式能夠直接為伺服器端代碼使用, 大大簡化了伺服器端和用戶端的代碼開發量, 但是完成的任務不變, 且易於維護
缺點:
沒有XML格式深入人心和使用廣泛, 沒有XML那麼通用性
xml和son的對比:
xml:
<menu id="file" value="File" >
<popup>
<menuitem value="New" onclick="CreateNewDoc()" />
<menuitem value="Open" onclick="OpenDoc()" />
<menuitem value="Close" onclick="CloseDoc()" />
</popup>
</menu>
son:
{"menu": {
"id": "file",
"value": "File:",
"popup": {
"menuitem": [
{"value": "New", "onclick": "CreateNewDoc()"},
{"value": "Open", "onclick": "OpenDoc()"},
{"value": "Close", "onclick": "CloseDoc()"}
]}
}}
以上可見:
1。對象object包含在{}中,
2。對象的屬性member使用string : value 成對出現,屬性與屬性之間用逗號隔開,
3。數組array在[]中,如:[ elements ]
4。元素elements與元素之間用逗號隔開 elements , elements
5。元素值可具有的類型:string, number, object, array, true, false, null
應用範圍;
JSON主要用在AJAX中,由於在用戶端使用JavaScript指令碼,故使用JSON,將使得進程的響應變得更快