美文网首页我爱编程
XML 和 JSON 的区别

XML 和 JSON 的区别

作者: lx_smile | 来源:发表于2017-08-21 17:24 被阅读0次
定义
  • XML

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

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

优点

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

缺点

  • XML文件庞大,文件格式复杂,传输占带宽
  • 服务器端和客户端都需要花费大量代码来解析XML,导致服务器端和客户端代码变得异常复杂且不易维护
  • 客户端不同浏览器之间解析XML的方式不一致,需要重复编写很多代码
  • 服务器端和客户端解析XML花费较多的资源和时间
  • JSON
    优点
  • 数据格式比较简单,易于读写,格式都是压缩的,占用带宽小
    易于解析,客户端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 数据结构解析为有用的 JavaScript 对象。与XML数据结构要解析成 DOM 文档而且从中提取数据极为麻烦相比,JSON 可以解析为 JavaScript 对象的优势极为明显。
数据描述方面

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

  • XML 文档必须包含根元素,该元素是所有其他元素的父元素。
  • XML 文档的元素形成了一颗文档树,这棵树从根部开始并扩展到树的底端。
  • 可读性来说,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>
  • JSON 更像一个数据块,读起来比较费解,适合机器阅读。
var country =
        {
            name: "中国",
            provinces: [
            { name: "黑龙江", citys: { city: ["哈尔滨", "大庆"]} },
            { name: "广东", citys: { city: ["广州", "深圳", "珠海"]} }
            ]
        }
传输速度方面

JSON 的速度要远远快于 XML。

  • JSON被认为是XML的很好替代者。
  • 因为JSON的可读性非常好,而且它没有像XML那样包含很多冗余的元素标签,这使得应用在使用JSON进行网络传输以及进行解析处理的速度更快,效率更高。

相关文章

  • JSON和XML之间有哪些不同

    JSON和XML之间的区别是什么?下面本篇文章就来给大家比较一下JSON和XML,介绍JSON和XML之间的区别,...

  • XML和JSON区别

    今个去面试,一个人事经理问我xml和json的区别我没答上来感觉很难过,于是就回来后就查阅相关资料写点东西:: 1...

  • json和xml区别

    一、定义介绍 XML定义扩展标记语言 (Extensible Markup Language, XML) ,用于标...

  • 面试:网路通讯部分

    Xml与JSON区别 数据交换格式 区别:xml是重量级、json是轻量级xml占带宽大,不易压缩、json占带宽...

  • ajax(2)

    6.jsonp跨域请求 7、JSON的了解?XML和JSON的区别?

  • xml和json的区别

    说到xlm的诞生就不得不说一下“标准通用标记语言SGML(Standerd Generalized Markup ...

  • XML和JSON的区别

    1.XML 扩展标记语言 (Extensible Markup Language, XML) ,用于标记电子文件使...

  • XML 和 JSON 的区别

    定义 XML 可扩展标记语言(英语:Extensible Markup Language,简称:XML).用来传输...

  • XML 和 JSON 的区别?

    XML 和 JSON 的区别? (1).数据体积方面。 JSON相对于XML来讲,数据的体积小,传递的速度更快些。...

  • XML和JSON的区别

    XML在上面的文章中已经讲过,这里不多解释Extensible Markup Language(可扩展标记语言)由...

网友评论

    本文标题:XML 和 JSON 的区别

    本文链接:https://www.haomeiwen.com/subject/vbmarxtx.html