來源: http://blog.csdn.net/heiyeshuwu/archive/2006/04/20
)`&d_,l2AA?/M1{2Q剛做完一個小的使用Ajax的項目。整個小項目使用Javascrīpt做用戶端,使用PHP做伺服器端、利用xmlHttpRequest組件作為互動工具,利用XML作為資料轉送的格式。做完後基本做一個簡單總結,簡單分析一下使用XML作為傳輸格式的優劣。
+GJe&x%c[ XML ]JAVA中文站社區門戶)l|:yf)R;aG
使用XML作為傳輸格式的優勢:JAVA中文站社區門戶Xdizo(r y0n;w
1. 格式統一, 符合標準
K"y;Y)_3W$y2. 容易與其他系統進行遠程互動, 資料共用比較方便JAVA中文站社區門戶Y{'F1k(YA
缺點:JAVA中文站社區門戶4l-Y9zM(Ev[
1. XML檔案格式檔案龐大, 格式複雜, 傳輸佔用頻寬JAVA中文站社區門戶$W^:sY]Y,Yw!^
2. 伺服器端和用戶端都需要花費大量代碼來解析XML, 不論伺服器端和用戶端代碼變的異常複雜和不容易維護JAVA中文站社區門戶Ry5KWOB'F6z
3. 用戶端不同瀏覽器之間解析XML的方式不一致, 需要重複編寫很多代碼
ltp*[}4. 伺服器端和用戶端解析XML花費資源和時間
| V'Vb6WE
R[ JSON ]
t&`C;|$?!l那麼除了XML格式, 還有沒有其他格式, 有一種叫做JSON (Javascrīpt Object Notation) 的輕量級資料交換格式能夠替代XML的工作.JAVA中文站社區門戶:wzmpqr"u
優點:
/~7B
g/jg8e1. 資料格式比較簡單, 易於讀寫, 格式都是壓縮的, 佔用頻寬小JAVA中文站社區門戶5TJ
YTT:sn3Xg
2. 易於解析這種語言, 用戶端Javascrīpt可以簡單的通過eval()進行JSON資料的讀取
.];?z},X6p3. 支援多種語言, 包括Actionscrīpt, C, C#, ColdFusion, Java, Javascrīpt, Perl, PHP, Python, Ruby等語言伺服器端語言, 便於伺服器端的解析JAVA中文站社區門戶'f)I_U.Ty{
4. 在PHP世界, 已經有PHP-JSON和JSON-PHP出現了, 便於PHP序列化後的程式直接調用. PHP伺服器端的對象、數組等能夠直接生JSON格式, 便於用戶端的訪問提取.JAVA中文站社區門戶|3[-CCu
另外PHP的PEAR類已經提出了支援 (http://pear.php.net/pepr/pepr-proposal-show.php?id=198)JAVA中文站社區門戶-l"D"v;P9}3{%i
5. 因為JSON格式能夠直接為伺服器端代碼使用, 大大簡化了伺服器端和用戶端的代碼開發量, 但是完成的任務不變, 且易於維護
KG
Pio"V(w缺點:
+?#^`]e7du)I*o#Q1. 沒有XML格式這麼推廣的深入人心和使用廣泛, 沒有XML那麼通用性JAVA中文站社區門戶
t9{T:a7ekK
2. JSON格式目前在Web Service中推廣還屬於初級階段JAVA中文站社區門戶K8Dw.y
k+R!^z$H;^M7Y
PS: 據說Google的Ajax是使用 JSON+模板 做的
,d@m
jc"m[ JSON相關連結 ]JAVA中文站社區門戶C6a;[+q$r;fIey
官方網站:http://www.json.org/JAVA中文站社區門戶7Q{D"A'B_m&Kp
官方網站中譯:http://blog.patterns.cn/json/JAVA中文站社區門戶&x3d!uZ9u,F!p2eu
PEAR::HTML_AJAX:http://pear.php.net/package/HTML_AJAX(相當成熟的Ajax架構, 使用JSON進行資料轉送, 包含豐富的用戶端和伺服器端)
2g6T#a*l&rN+awe}Services_JSON:http://pear.php.net/pepr/pepr-proposal-show.php?id=198
1Fh R*w/7f{XldPHP JSON擴充:http://www.aurore.net/projects/php-json/JAVA中文站社區門戶{f%i+[uLQv
PHP和Javascrīpt使用JSON交換資料:http://www.flyinghail.net/archives/10
(U3A
n3B%{;m LAjax Using JSON:http://www.x2blog.cn/lulei/3851.htmlJAVA中文站社區門戶lw,ns�N}
XML跟JSON相應比較文章:http://blog.hexun.com/dulao5/912477_d.htmlJAVA中文站社區門戶-E)|ya%nA"dA
讓Service_JSON支援中文:http://blog.sina.com.cn/u/55acd28f01000113JAVA中文站社區門戶D1z3sM8L3E$e:x|
[ 目前成熟的用戶端架構 ]
c)w/,xMhO(BXajax:http://xajax.sourceforge.net(目前在國內使用比較廣泛,跟Smarty模板結合良好)JAVA中文站社區門戶"k
b
cPA u
@
Sajax:http://www.modernmethod.com/sajax/(架構比較複雜,支援語言較多)JAVA中文站社區門戶7MI(CY^%D'[6ol
AJAX架構匯總:http://www.huihoo.com/web/ajax/ajax-frameworks.html
TAG:
AJAX
Ajax
ajax
XML
xml
格式
優劣
JSON