AJAX里应该使用XML还是JSON?

之前讲过AJAX的相关理论,里面提到了XML,但是其实在实际开发工程中与AJAX一起使用到的更多的是JSON而不是XML,所以本文来讲讲在AJAX中使用JSON和XML有什么区别。

AJAX的全称是Asynchronous JavaScript And XML(异步的JS和XML),说明当初这门技术设想的最佳拍档是JS和XML。很可惜,现在大家更倾向于JS+JSON。所以,也有人认为AJAX应该干脆改名为AJAJ得了(Asynchronous JavaScript And JSON)。

之前这篇文章AJAX工作原理+例子说明里讲过xml,现在我们来介绍下JSON。

先简单介绍下什么是JSON?

JSON的英文全称是JavaScript Object Notation,也就是JS对象标记法。是一种轻量级的数据交换格式,采用完全独立于编程语言的文本格式来存储和表示数据,易于人阅读和编写,同时也易于机器解析和生成,并有效地提升网络传输效率。

也就是说,不管你后台用Java/PHP/C#,都可以用JSON交互数据。而且不止web,Android和IOS也可通过JSON和后端交换数据。因为JSON是一种文本格式,任何语言都有字符串类型。

但XML作为配置文件的首选标记语言,在自己的领域又甩JSON一条街。因为JSON表示嵌套逻辑关系时显得很凌乱,要不断地在一个值里面再塞入另一个值。不如XML直观。

总结下来
• JSON是一种数据格式,载体是字符串,因为字符串是通用的
• 广义上,JSON对象是语法更为严格的JS对象
• JSON串必须符合JSON格式

用ajax异步请求中的JSON

  • 异步请求时有两种选择:key/value格式 or JSON串
  • 请求时key/value格式比JSON串常用,因为要用JSON串的话,在前端还要把对象转成串,麻烦
  • 响应时都返回JSON串。ajax中dataType:"json"的意思是:指定按什么格式解析返回值。因为返回的是JSON串,自然要按JSON解析,否则会出错。

关于AJAX里有关JSON的内容,推荐大家看这篇文章AJAX与JSON,里面写的很详细。

那么,XML和JSON两者间到底有什么区别呢?

XML

优点:

  1. 格式统一, 符合标准。
  2. 容易与其他系统进行远程交互, 数据共享比较方便。

缺点:

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

JSON

优点:

  1. 数据格式比较简单, 易于读写, 格式都是压缩的, 占用带宽小。
  2. 易于解析这种语言, 客户端JavaScript可以简单的通过eval_r()进行JSON数据的读取。
  3. 支持多种语言, 包括ActionScript, C, C#, ColdFusion, Java,JavaScript, Perl, PHP, Python, Ruby等语言服务器端语言, 便于服务器端的解析。
  4. 因为JSON格式能够直接为服务器端代码使用, 大大简化了服务器端和客户端的代码开发量, 且易于维护。

缺点:

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

总结来讲,在AJAX里使用JSON无疑是个最佳的搭配,至于其它情况下应该选择XML还是JSON可以看看这篇文章别再比较JSON和XML,里面笔者写到关于XML的部分让我对格式复杂但是逻辑更清晰的XML有了不一样的理解。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值