Python

json和xml区别

2019-07-31  本文已影响91人  Djbfifjd

一、定义介绍

  1. XML定义
    扩展标记语言 (Extensible Markup Language, XML) ,用于标记电子文件使其具有结构性的标记语言,可以用来标记数据、定义数据类型,是一种允许用户对自己的标记语言进行定义的源语言。 XML使用DTD(document type definition)文档类型定义来组织数据;格式统一,跨平台和语言,早已成为业界公认的标准。
    XML是标准通用标记语言 (SGML) 的子集,非常适合 Web 传输。XML 提供统一的方法来描述和交换独立于应用程序或供应商的结构化数据。

  2. JSON定义
    JSON(JavaScript Object Notation)一种轻量级的数据交换格式,具有良好的可读和便于快速编写的特性。可在不同平台之间进行数据交换。JSON采用兼容性很高的、完全独立于语言文本格式,同时也具备类似于C语言的习惯(包括C, C++, C#, Java, JavaScript, Perl, Python等)体系的行为。这些特性使JSON成为理想的数据交换语言。
    JSON基于JavaScript Programming Language , Standard ECMA-262 3rd Edition - December 1999 的一个子集。

二、XML和JSON优缺点

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

三、XML和JSON的优缺点对比

  1. 可读性方面。
    JSON和XML的数据可读性基本相同,JSON和XML的可读性可谓不相上下,一边是建议的语法,一边是规范的标签形式,XML可读性较好些。

  2. 可扩展性方面。
    XML天生有很好的扩展性,JSON当然也有,没有什么是XML能扩展,JSON不能的。

  3. 编码难度方面。
    XML有丰富的编码工具,比如Dom4j、JDom等,JSON也有json.org提供的工具,但是JSON的编码明显比XML容易许多,即使不借助工具也能写出JSON的代码,可是要写好XML就不太容易了。

  4. 解码难度方面。
    XML的解析得考虑子节点父节点,让人头昏眼花,而JSON的解析难度几乎为0。这一点XML输的真是没话说。

  5. 流行度方面。
    XML已经被业界广泛的使用,而JSON才刚刚开始,但是在Ajax这个特定的领域,未来的发展一定是XML让位于JSON。到时Ajax应该变成Ajaj(Asynchronous Javascript and JSON)了。

  6. 解析手段方面。
    JSON和XML同样拥有丰富的解析手段。

  7. 数据体积方面。
    JSON相对于XML来讲,数据的体积小,传递的速度更快些。

  8. 数据交互方面。
    JSON与JavaScript的交互更加方便,更容易解析处理,更好的数据交互。

  9. 数据描述方面。
    JSON对数据的描述性比XML较差。

  10. 传输速度方面。
    JSON的速度要远远快于XML。

四、XML与JSON数据格式比较

  1. 关于轻量级和重量级
    轻量级和重量级是相对来说的,那么XML相对于JSON的重量级体现在哪呢?应该体现在解析上,XML目前设计了两种解析方式:DOM和 SAX。
  1. 关于数据格式编码及解析难度

编码的可读性来说,XML有明显的优势,毕竟人类的语言更贴近这样的说明结构。JSON读起来更像一个数据块,读起来就比较费解了。不过,我们读起来费解的语言,恰恰是适合机器阅读,所以通过JSON的索引country.provinces[0].name就能够读取“黑龙江”这个值。
编码的手写难度来说,XML还是舒服一些,好读当然就好写。不过写出来的字符JSON就明显少很多。去掉空白制表以及换行的话,JSON就是密密麻麻的有用数据,而XML却包含很多重复的标记字符。

上一篇 下一篇

猜你喜欢

热点阅读