Ajax中XML和JSON格式的优劣比较

 来源: 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中文站社区门户Xdi zo(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/j g8e1. 数据格式比较简单, 易于读写, 格式都是压缩的, 占用带宽小JAVA中文站社区门户5TJ YT T: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+[uLQ v
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/,xMh O(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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值