什么是
XML(可扩展标记语言)?
- XML
指可扩展标记语言(EXtensible
Markup Language) - XML 是一种标记语言,很类似 HTML
- XML 的设计宗旨是传输数据,而非显示数据
- XML 标签没有被预定义。您需要自行定义标签。
- XML 被设计为具有自我描述性。
- XML 是
W3C 的推荐标准 - XML 没什么特别的,它仅仅是纯文本而已,是SGML的一个简化版本,有能力处理纯文本的软件都可以处理 XML。
什么是 JSON ?
-
JSON 指的是 JavaScript
对象表示法(JavaScript
Object Notation) - JSON 是轻量级的文本数据交换格式
-
JSON
独立于语言
* - JSON 具有自我描述性,更易理解
*
- 特点:
-
- 轻量级的数据交换格式
- 人们读写更加容易
- 易于机器的解析和生成
- 能够通过JavaScript中eval_r()函数解析JSON
- JSON支持多语言
语法:
- JSON语法是一种用于传输和生成数据的协定,很类似于C家族的语言,所以很容易被C家族的语言所解析。
- 对象:对象包含再{}之间
- 属性:采用Key-Value对来表示。属性之间使用逗号分开。
string : value - 数组:数组存放再[]之间
[ elements ] - 元素:元素之间用逗号分开
- 值:值可以是字符串,数字,对象,数组,true,false,null
-
在可读性方面,JSON和XML的数据可读性基本相同。JSON和XML的可读性可谓不相上下,一边是建议的语法,一边是规范的标签形式,很难分出胜负。
-
在可扩展性方面,XML天生有很好的扩展性,JSON当然也有,没有什么是XML能扩展,JSON不能的。
-
在编码难度方面,XML有丰富的编码工具,比如Dom4j、JDom等,JSON也有json.org提供的工具,但是JSON的编码明显比XML容易许多,即使不借助工具也能写出JSON的代码,可是要写好XML就不太容易了。
-
在解码难度方面,XML的解析得考虑子节点父节点,让人头昏眼花,而JSON的解析难度几乎为0。这一点XML输的真是没话说。
-
在流行度方面,XML已经被业界广泛的使用,而JSON才刚刚开始,但是在Ajax这个特定的领域,未来的发展一定是XML让位于JSON。到时Ajax应该变成Ajaj(Asynchronous Javascript and JSON)了。
-
JSON和XML同样拥有丰富的解析手段。
-
JSON相对于XML来讲,数据的体积小。
-
JSON与JavaScript的交互更加方便。
-
JSON对数据的描述性比XML较差。
-
JSON的速度要远远快于XML。
-
XML跟多侧重与对象和结构,JSON则更适用与数据交互