Ajax中XML和JSON格式的优劣比较
上一篇 / 下一篇 2008-03-07 16:00:45 / 个人分类:LAMP
!g&@ g/@W,x A0y0来源:http://blog.csdn.net/heiyeshuwu/archive/2006/04/20/670713.aspx木铎校园 BBS 社区*J9[~WB/H
5wc[V,t$O0刚做完一个小的使用Ajax的项目。整个小项目使用Javascrīpt做客户端,使用PHP做服务器端、利用xmlHttpRequest组件作为交互工具,利用XML作为数据传输的格式。做完后基本做一个简单总结,简单分析一下使用XML作为传输格式的优劣。
1{`ws?.hB|J0木铎校园 BBS 社区I bn/`(q)z I[ XML ]木铎校园 BBS 社区5OI5~ n9O8v%n2A
使用XML作为传输格式的优势:木铎校园 BBS 社区(f!_-e Wo
{
1. 格式统一, 符合标准
3{
P9x#Jei02. 容易与其他系统进行远程交互, 数据共享比较方便木铎校园 BBS 社区g!~1F/j(Bm
iW
缺点:
B _Nma.sx*xY1C01. XML文件格式文件庞大, 格式复杂, 传输占用带宽木铎校园 BBS 社区X4q7FC1]
2. 服务器端和客户端都需要花费大量代码来解析XML, 不论服务器端和客户端代码变的异常复杂和不容易维护木铎校园 BBS 社区?C0[!tC2\
p
3. 客户端不同浏览器之间解析XML的方式不一致, 需要重复编写很多代码木铎校园 BBS 社区Q+E5jku0m
4. 服务器端和客户端解析XML花费资源和时间
$b%\#[Ig0[ JSON ]
` }KWe/t0那么除了XML格式, 还有没有其他格式, 有一种叫做JSON (Javascrīpt Object Notation) 的轻量级数据交换格式能够替代XML的工作.
PSl
K"xo,ROeo0优点:
"u4PSV j8W01. 数据格式比较简单, 易于读写, 格式都是压缩的, 占用带宽小木铎校园 BBS 社区kA0I9`%y.l8I%V
2. 易于解析这种语言, 客户端Javascrīpt可以简单的通过eval()进行JSON数据的读取
4qK PJ1{$hI5h03. 支持多种语言, 包括Actionscrīpt, C, C#, ColdFusion,Java, Javascrīpt, Perl, PHP, Python, Ruby等语言服务器端语言, 便于服务器端的解析
'cyJ#s:v04. 在PHP世界, 已经有PHP-JSON和JSON-PHP出现了, 便于PHP序列化后的程序直接调用. PHP服务器端的对象、数组等能够直接生JSON格式, 便于客户端的访问提取.木铎校园 BBS 社区)A4q'lE3\W
另外PHP的PEAR类已经提出了支持 (http://pear.php.net/pepr/pepr-proposal-show.php?id=198)
pz,DNb05. 因为JSON格式能够直接为服务器端代码使用, 大大简化了服务器端和客户端的代码开发量, 但是完成的任务不变, 且易于维护木铎校园 BBS 社区
y
M&KRZ*sP:m+U
W uZ(F(E0缺点:
_t]G+}'S01. 没有XML格式这么推广的深入人心和使用广泛, 没有XML那么通用性木铎校园 BBS 社区:LB6V
x:y-Z;_
2. JSON格式目前在Web Service中推广还属于初级阶段
@8Sza`7ob;|B)fs U0PS: 据说Google的Ajax是使用 JSON+模板 做的
'GzDog%c0木铎校园 BBS 社区:kR g8A1X$m,af,w3G6m
+^h(cn3A!p)\0[ JSON相关链接 ]
!kR}-?ehN0官方网站:http://www.json.org/
G{x _U0官方网站中译:http://blog.patterns.cn/json/木铎校园 BBS 社区kb(Y!\TB7sN+V
OX\i
PEAR::HTML_AJAX:http://pear.php.net/package/HTML_AJAX(相当成熟的Ajax框架, 使用JSON进行数据传输, 包含丰富的客户端和服务器端)
!g-v-n+y[E7G0Services_JSON:http://pear.php.net/pepr/pepr-proposal-show.php?id=198木铎校园 BBS 社区,GE$Haq|ji
PHP JSON扩展:http://www.aurore.net/projects/php-json/木铎校园 BBS 社区!mcg8kgp6n8w+Y
PHP和Javascrīpt使用JSON交换数据:http://www.flyinghail.net/archives/10木铎校园 BBS 社区&z4x5A8n+Nev8@!~-]
Ajax Using JSON:http://www.x2blog.cn/lulei/3851.html
%U~m2RjKwR0XML跟JSON相应比较文章:http://blog.hexun.com/dulao5/912477_d.html木铎校园 BBS 社区B$Xv4zw+iv
让Service_JSON支持中文:http://blog.sina.com.cn/u/55acd28f01000113
;h V4LEZ DMu0
m*_XJ)bM P3o|#w0He0[ 目前成熟的客户端框架]木铎校园 BBS 社区*VS)jTA0X8@
Xajax:http://xajax.sourceforge.net(目前在国内使用比较广泛,跟Smarty模板结合良好)木铎校园 BBS 社区*jYG3n(a5YT"g&F
Sajax:http://www.modernmethod.com/sajax/(框架比较复杂,支持语言较多)
AJAX框架汇总:http://www.huihoo.com/web/ajax/ajax-frameworks.html木铎校园 BBS 社区/Z q#uGK%JrOsa
相关阅读:
- 对ajax的调试 (平凡的香草, 2008-1-26)
- 支持 discuz 的web ajax 聊天系统 (平凡的香草, 2008-3-03)
- ajax+php中文乱码解决办法 (平凡的香草, 2008-3-07)
TAG: ajax Ajax XML JSON 优劣 blog

