JSON學(xué)習(xí)筆記第1/2頁(yè)
更新時(shí)間:2008年06月10日 21:33:40 作者:
JSON我就要來(lái)了
利用xmlHttpRequest組件作為交互工具,利用XML作為數(shù)據(jù)傳輸?shù)母袷健?
[ XML ]
使用XML作為傳輸格式的優(yōu)勢(shì):
1. 格式統(tǒng)一, 符合標(biāo)準(zhǔn)
2. 容易與其他系統(tǒng)進(jìn)行遠(yuǎn)程交互, 數(shù)據(jù)共享比較方便
缺點(diǎn):
1. XML文件格式文件龐大, 格式復(fù)雜, 傳輸占用帶寬
2. 服務(wù)器端和客戶(hù)端都需要花費(fèi)大量代碼來(lái)解析XML, 不論服務(wù)器端和客戶(hù)端代碼變的異常復(fù)雜和不容易維護(hù)
3. 客戶(hù)端不同瀏覽器之間解析XML的方式不一致, 需要重復(fù)編寫(xiě)很多代碼
4. 服務(wù)器端和客戶(hù)端解析XML花費(fèi)資源和時(shí)間
[ JSON ]
那么除了XML格式, 還有沒(méi)有其他格式, 有一種叫做JSON (JavaScript Object Notation) 的輕量級(jí)數(shù)據(jù)交換格式能夠替代XML的工作.
優(yōu)點(diǎn):
1. 數(shù)據(jù)格式比較簡(jiǎn)單, 易于讀寫(xiě), 格式都是壓縮的, 占用帶寬小
2. 易于解析這種語(yǔ)言, 客戶(hù)端JavaScript可以簡(jiǎn)單的通過(guò)eval()進(jìn)行JSON數(shù)據(jù)的讀取
3. 支持多種語(yǔ)言, 包括ActionScript, C, C#, ColdFusion, Java, JavaScript, Perl, PHP, Python, Ruby等語(yǔ)言服務(wù)器端語(yǔ)言, 便于服務(wù)器端的解析
4. 在PHP世界, 已經(jīng)有PHP-JSON和JSON-PHP出現(xiàn)了, 便于PHP序列化后的程序直接調(diào)用. PHP服務(wù)器端的對(duì)象、數(shù)組等能夠直接生JSON格式, 便于客戶(hù)端的訪問(wèn)提取.
另外PHP的PEAR類(lèi)已經(jīng)提出了支持 (http://pear.php.net/pepr/pepr-proposal-show.php?id=198)
5. 因?yàn)镴SON格式能夠直接為服務(wù)器端代碼使用, 大大簡(jiǎn)化了服務(wù)器端和客戶(hù)端的代碼開(kāi)發(fā)量, 但是完成的任務(wù)不變, 且易于維護(hù)
缺點(diǎn):
1. 沒(méi)有XML格式這么推廣的深入人心和使用廣泛, 沒(méi)有XML那么通用性
2. JSON格式目前在Web Service中推廣還屬于初級(jí)階段
PS: 據(jù)說(shuō)Google的Ajax是使用 JSON+模板 做的
[ XML ]
使用XML作為傳輸格式的優(yōu)勢(shì):
1. 格式統(tǒng)一, 符合標(biāo)準(zhǔn)
2. 容易與其他系統(tǒng)進(jìn)行遠(yuǎn)程交互, 數(shù)據(jù)共享比較方便
缺點(diǎn):
1. XML文件格式文件龐大, 格式復(fù)雜, 傳輸占用帶寬
2. 服務(wù)器端和客戶(hù)端都需要花費(fèi)大量代碼來(lái)解析XML, 不論服務(wù)器端和客戶(hù)端代碼變的異常復(fù)雜和不容易維護(hù)
3. 客戶(hù)端不同瀏覽器之間解析XML的方式不一致, 需要重復(fù)編寫(xiě)很多代碼
4. 服務(wù)器端和客戶(hù)端解析XML花費(fèi)資源和時(shí)間
[ JSON ]
那么除了XML格式, 還有沒(méi)有其他格式, 有一種叫做JSON (JavaScript Object Notation) 的輕量級(jí)數(shù)據(jù)交換格式能夠替代XML的工作.
優(yōu)點(diǎn):
1. 數(shù)據(jù)格式比較簡(jiǎn)單, 易于讀寫(xiě), 格式都是壓縮的, 占用帶寬小
2. 易于解析這種語(yǔ)言, 客戶(hù)端JavaScript可以簡(jiǎn)單的通過(guò)eval()進(jìn)行JSON數(shù)據(jù)的讀取
3. 支持多種語(yǔ)言, 包括ActionScript, C, C#, ColdFusion, Java, JavaScript, Perl, PHP, Python, Ruby等語(yǔ)言服務(wù)器端語(yǔ)言, 便于服務(wù)器端的解析
4. 在PHP世界, 已經(jīng)有PHP-JSON和JSON-PHP出現(xiàn)了, 便于PHP序列化后的程序直接調(diào)用. PHP服務(wù)器端的對(duì)象、數(shù)組等能夠直接生JSON格式, 便于客戶(hù)端的訪問(wèn)提取.
另外PHP的PEAR類(lèi)已經(jīng)提出了支持 (http://pear.php.net/pepr/pepr-proposal-show.php?id=198)
5. 因?yàn)镴SON格式能夠直接為服務(wù)器端代碼使用, 大大簡(jiǎn)化了服務(wù)器端和客戶(hù)端的代碼開(kāi)發(fā)量, 但是完成的任務(wù)不變, 且易于維護(hù)
缺點(diǎn):
1. 沒(méi)有XML格式這么推廣的深入人心和使用廣泛, 沒(méi)有XML那么通用性
2. JSON格式目前在Web Service中推廣還屬于初級(jí)階段
PS: 據(jù)說(shuō)Google的Ajax是使用 JSON+模板 做的
您可能感興趣的文章:
- JSON 入門(mén)教程基礎(chǔ)篇 json入門(mén)學(xué)習(xí)筆記
- javascript學(xué)習(xí)之json入門(mén)
- Ajax與JSON的一些學(xué)習(xí)總結(jié)
- JSON 教程 json入門(mén)學(xué)習(xí)筆記
- Python解析json文件相關(guān)知識(shí)學(xué)習(xí)
- JSON stringify方法原理及實(shí)例解析
- Java使用JSON傳遞字符串注意事項(xiàng)解析
- 10分鐘掌握XML、JSON及其解析
- Java解析JSON數(shù)據(jù)時(shí)報(bào)錯(cuò)問(wèn)題解決方案
- javascript解析json格式的數(shù)據(jù)方法詳解
- 10分鐘學(xué)會(huì)js處理json的常用方法
相關(guān)文章
json的前臺(tái)操作和后臺(tái)操作實(shí)現(xiàn)代碼
通常情況下,json的在項(xiàng)目中的應(yīng)用都是在后臺(tái)把數(shù)據(jù)傳到前臺(tái),然后前臺(tái)再獲取json中的數(shù)據(jù).2012-01-01
JS解析后臺(tái)返回的JSON格式數(shù)據(jù)實(shí)例
今天小編就為大家分享一篇JS解析后臺(tái)返回的JSON格式數(shù)據(jù)實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-08-08
半個(gè)小時(shí)學(xué)json(json傳遞示例)
這篇文章主要介紹了半個(gè)小時(shí)學(xué)json(json傳遞示例),主要包括一維數(shù)組與二維數(shù)組,需要的朋友可以參考下2016-12-12
改進(jìn)版通過(guò)Json對(duì)象實(shí)現(xiàn)深復(fù)制的方法
改進(jìn)版通過(guò)Json對(duì)象實(shí)現(xiàn)深復(fù)制的方法,需要的朋友可以參考下2012-10-10
實(shí)現(xiàn)單層json按照key字母順序排序的示例
下面小編就為大家分享一篇實(shí)現(xiàn)單層json按照key字母順序排序的示例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2017-12-12
Chrome中JSON.parse的特殊實(shí)現(xiàn)
ECMA 262 Edition5 中提供了原生的JSON支持,其中JSON.parse用來(lái)將字符串轉(zhuǎn)成成json,見(jiàn)ECMA 262 Edition5 15.12.2。另見(jiàn):字符串轉(zhuǎn)換成json的三種方式2011-01-01

