我爱编程

XML 和 JSON 的区别

2017-08-21  本文已影响0人  lx_smile
定义

可扩展标记语言(英语:Extensible Markup Language,简称:XML).用来传输及存储数据信息,不用来表现或展示数据。

  • JSON 是一个轻量级的数据格式 ,不是一种编程语言。JSON是一个JavaScript 的严格的子集,利用JavaScript 中一些模式来表示结构化数据。
  • 与XML 相比,JSON是在JS中读写结构化数据更好的 方式,因为它可以把JSON 直接传给eval(),而不必创建 DOM 对象。
优缺点

优点

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

缺点

  • XML文件庞大,文件格式复杂,传输占带宽
  • 服务器端和客户端都需要花费大量代码来解析XML,导致服务器端和客户端代码变得异常复杂且不易维护
  • 客户端不同浏览器之间解析XML的方式不一致,需要重复编写很多代码
  • 服务器端和客户端解析XML花费较多的资源和时间
  • 数据格式比较简单,易于读写,格式都是压缩的,占用带宽小
    易于解析,客户端JavaScript可以简单的通过eval()进行JSON数据的读取
  • 支持多种语言,包括ActionScript, C, C#, ColdFusion, Java, JavaScript, Perl, PHP, Python, Ruby等服务器端语言,便于服务器端的解析
  • 在PHP世界,已经有PHP-JSON和JSON-PHP出现了,偏于PHP序列化后的程序直接调用,PHP服务器端的对象、数组等能直接生成JSON格式,便于客户端的访问提取
  • 因为JSON格式能直接为服务器端代码使用,大大简化了服务器端和客户端的代码开发量,且完成任务不变,并且易于维护

缺点

  • 没有XML格式这么推广的深入人心和喜用广泛,没有XML那么通用性
  • 数据描述性不如XML
数据体积方面

JSON 相对于 XML而言,数据体积小,传递的速度比较快。

与XML序列化相比,JSON序列化后产生的数据一般要比XML序列化后数据体积小,所以在Facebook等知名网站中都采用了JSON作为数据交换方式。

数据交互方面

JSON与javascript的交互更加方便,更容易解析处理。

数据描述方面

JSON对数据的描述性比 XML 差。

<?xml version="1.0" encoding="utf-8" ?>
<country>
  <name>中国</name>
  <province>
    <name>黑龙江</name>
    <citys>
      <city>哈尔滨</city>
      <city>大庆</city>
    </citys>    
  </province>
  <province>
    <name>广东</name>
    <citys>
      <city>广州</city>
      <city>深圳</city>
      <city>珠海</city>
    </citys>   
  </province>
</country>
var country =
        {
            name: "中国",
            provinces: [
            { name: "黑龙江", citys: { city: ["哈尔滨", "大庆"]} },
            { name: "广东", citys: { city: ["广州", "深圳", "珠海"]} }
            ]
        }
传输速度方面

JSON 的速度要远远快于 XML。

上一篇 下一篇

猜你喜欢

热点阅读