`

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

阅读更多

刚做完一个小的使用Ajax的项目。整个小项目使用Javascrīpt做客户端,使用PHP做服务器端、利用xmlHttpRequest组件作为交互工具,利用XML作为数据传输的格式。做完后基本做一个简单总结,简单分析一下使用XML作为传输格式的优劣。

[ XML ]
使用XML作为传输格式的优势:
1. 格式统一, 符合标准
2. 容易与其他系统进行远程交互, 数据共享比较方便

缺点:
1. XML文件格式文件庞大, 格式复杂, 传输占用带宽
2. 服务器端和客户端都需要花费大量代码来解析XML, 不论服务器端和客户端代码变的异常复杂和不容易维护
3. 客户端不同浏览器之间解析XML的方式不一致, 需要重复编写很多代码
4. 服务器端和客户端解析XML花费资源和时间


[ JSON ]
那么除了XML格式, 还有没有其他格式, 有一种叫做JSON (Javascrīpt Object Notation) 的轻量级数据交换格式能够替代XML的工作.

优点:
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格式能够直接为服务器端代码使用, 大大简化了服务器端和客户端的代码开发量, 但是完成的任务不变, 且易于维护

缺点:
1. 没有XML格式这么推广的深入人心和使用广泛, 没有XML那么通用性
2. JSON格式目前在Web Service中推广还属于初级阶段

PS: 据说Google的Ajax是使用 JSON+模板 做的


[ JSON相关链接 ]
官方网站:http://www.json.org/
官方网站中译:http://blog.patterns.cn/json/
PEAR::HTML_AJAX:http://pear.php.net/package/HTML_AJAX(相当成熟的Ajax框架, 使用JSON进行数据传输, 包含丰富的客户端和服务器端)
Services_JSON:http://pear.php.net/pepr/pepr-proposal-show.php?id=198
PHP JSON扩展:http://www.aurore.net/projects/php-json/
PHP和Javascrīpt使用JSON交换数据:http://www.flyinghail.net/archives/10
Ajax Using JSON:http://www.x2blog.cn/lulei/3851.html
XML跟JSON相应比较文章:http://blog.hexun.com/dulao5/912477_d.html
让Service_JSON支持中文:http://blog.sina.com.cn/u/55acd28f01000113


[ 目前成熟的客户端框架 ]
Xajax:http://xajax.sourceforge.net(目前在国内使用比较广泛,跟Smarty模板结合良好)
Sajax:http://www.modernmethod.com/sajax/(框架比较复杂,支持语言较多)

AJAX框架汇总:http://www.huihoo.com/web/ajax/ajax-frameworks.html

分享到:
评论

相关推荐

    JSON与XML优缺点对比分析

    综上所述,JSON和XML各有优缺点,在选择使用哪种数据交换格式时,需要根据具体的应用场景和需求来决定。如果需要跨平台的数据交换且对数据结构有严格要求,XML可能是一个更好的选择。而在追求轻量级、快速开发和易用...

    2020年 json,xml,ajax封装.rar

    4. JSON与XML的比较:分析两者在数据交换中的优缺点,例如,JSON的简洁性和易于解析性,以及XML的灵活性和自我描述性。 5. AJAX与JSON结合的应用:如何在AJAX请求中使用JSON作为数据格式,实现高效的数据通信,提升...

    ajax以及xml@xsl两种分页

    本篇将详细介绍两种无刷新分页技术:AJAX分页和XML结合XSL的分页。 **一、AJAX分页** AJAX(Asynchronous JavaScript and XML)是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术。在分页场景中,...

    Ajax框架的相关学习资料和json

    4. **JSON与其他格式比较**:对比JSON与XML的优缺点,理解为什么JSON在Web开发中更受欢迎。 5. **JSON Schema**:学习JSON Schema,这是一种JSON格式的规范,用于定义JSON数据的结构和验证规则。 通过以上内容的...

    json_addressbook.zip

    标签中的"json"和"xml"都是数据交换格式,它们都有各自的优缺点。XML提供了一种严格的结构,支持复杂的文档和数据模型,但其语法较为冗长。而JSON则更偏向于数据表示,适合轻量级的交互。 压缩包内的“json.js”...

    xml+ajax 学习文档

    - **XML和JSON的比较**:在AJAX中,JSON(JavaScript Object Notation)作为数据交换格式的使用越来越广泛,理解它们的优缺点。 - **WebSocket**:虽然不是XML和AJAX的一部分,但它是实时通信的重要技术,了解其与...

    ajax and xml......

    ### 三、Ajax的优缺点 #### 优点 1. **用户交互性**:提供无缝的用户体验,页面无刷新,操作流畅。 2. **资源利用率**:只加载需要的数据,减少了网络带宽的使用。 3. **异步处理**:后台处理数据,不阻塞用户界面...

    Ajax 中文手册 api

    总结,Ajax中文手册是学习Ajax技术的重要参考资料,它涵盖了Ajax的基础概念、工作原理、优缺点以及实际应用,帮助开发者更好地理解和运用Ajax来提升网页的交互性和性能。通过深入学习并实践,开发者可以创建出更加...

    一个页面实现Ajax效果的增删改查JQuery+Json版

    这个“一个页面实现Ajax效果的增删改查JQuery+Json版”教程是关于如何使用jQuery库和JSON数据格式在单一页面上实现数据的动态添加、删除、修改和查询功能。 首先,jQuery是一个高效、简洁且易用的JavaScript库,它...

    Java Ajax分页,jsp ajax分页

    5. 将查询结果转换为JSON格式,然后在响应中返回给前端。 6. 前端JavaScript接收到响应后,解析JSON数据,并将新数据插入到表格中,更新分页导航栏的状态。 在提供的"AjaxPager"压缩包中,可能包含了以下文件: - `...

    Ajax高级程序设计pdf

    本章将深入探讨XML和JSON,它们在Ajax中的角色,以及如何在JavaScript中解析和生成这些格式的数据。同时,也会对比两种格式的优缺点,帮助开发者选择合适的数据交换格式。 **第三章:XMLHttpRequest对象** ...

    学习AJAX最好的教材

    - 数据格式:对比XML和JSON的优缺点,说明为什么JSON成为现代AJAX的标准。 - 实例分析:提供代码示例,展示如何使用AJAX实现常见的Web功能,如动态加载内容、无刷新表单提交等。 - 浏览器兼容性:讨论不同浏览器对...

    ajax新手快车道(pdf格式的电子书)

    书中会对比XML和JSON的优缺点,并演示如何在Ajax中使用JSON解析和序列化数据。 **三、Ajax与DOM** 理解DOM是使用Ajax进行页面动态更新的关键。DOM是HTML或XML文档的结构表示,通过JavaScript可以操作DOM节点,添加...

    什么是Ajax?Ajax的优缺点.docx

    XML是一种结构化的数据格式,适合复杂的数据交换,而JSON更为简洁,易于解析,现在更常用于Ajax应用。 4. **服务器端处理**:服务器接收到请求后,处理数据并返回结果。 5. **JavaScript处理响应**:当服务器响应后...

    AJAX系列 chm格式

    - **XML和JSON对比**:比较两种常用的数据交换格式,讨论各自的优缺点和适用场景。 通过以上四个资源,你可以系统地学习和掌握AJAX技术,从基础到实践,从理论到实战,全面提升你的前端开发能力。无论你是初学者...

    AJAX实例入门OK

    在"**AJAX实例入门-XML+Ajax教程.txt**"中,可能包含了一些基本的AJAX使用示例,涵盖了如何创建XMLHttpRequest对象,发送GET和POST请求,以及处理XML或JSON响应等内容。对于初学者,通过这些实例可以更好地理解AJAX...

    Head First深入浅出Ajax 中文版PDF

    书中会对比XML和JSON的优缺点,教授如何解析和创建这两种数据格式。 **5. DOM操作** DOM(Document Object Model)是HTML和XML文档的结构表示,允许通过JavaScript操作网页元素。书中会介绍如何使用DOM API选择、...

    基于J2EE的Ajax宝典.pdf.rar

    书中会对比XML和JSON的优缺点,并详细介绍如何在JavaScript中处理JSON数据。 4. **J2EE框架集成Ajax**:书中的重点可能在于如何将Ajax技术融入到J2EE应用中,如Spring MVC、Struts2等框架。这包括创建Ajax请求,...

Global site tag (gtag.js) - Google Analytics