Json其实和XML一样,作为数据中间传送对象,本身是一个文本。不过这个文本有自己的结构。(是不是可以联想到C语言的数据结构)。
因为是文本所以各种语言都能兼容,包含JS这种轻量级的客户端脚本。
为什么不XML
XML的冗余太大,不过XML阅读起来比较方面,所以并没有被json完全取代,很多时候都是并存。比如sina微博的开发平台有一个JSON版本和一个XML版本。以前是,现在没看。
比如xml
<Book> <name>name</name> <author> <name>authorname</name> <age>23</age> </author> <year>2010</year> </Book>
JSON
{"name":"name","author":{"name":"authorname","age":23},"year":2010}
JSON的好处,你可以把XML的好处都拿来,然后加上一条,我比XML小。
不过明显的不少软件支持XML导出,却不支持JSON导出。比如Excel。
JSON 和 XML 优缺点的比较
1.在可读性方面,JSON和XML的数据可读性基本相同。JSON和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的交互更加方便。
9JSON对数据的描述性比XML较差。
10.JSON的速度要远远快于XML。
总的来说,JSON就是小,对于追求高效的互联网,速度是一切。
source:http://java-er.com/blog/json-xml/