1.数据交换格式比较之关于XML和JSON:
XML:
扩展标记语言 (Extensible Markup Language)
一种标记语言,很类似HTML;
设计宗旨是传输数据,而非显示数据;
自行定义标签;
被设计为具有自我描述性;
W3C的推荐标准;
格式统一,跨平台和语言,早已成为业界公认的标准。
相比之JSON这种 轻量级的数据交换格式,XML可以称为重量级的了。
JSON :
JavaScript Object Notation 是一种轻量级的数据交换格式
易于人阅读和编写;
同时也易于机器解析和生成;
它基于JavaScript Programming Language , Standard ECMA-262 3rd Edition – December 1999 的一个子集。
JSON采用完全独立于语言的文本格式,但是也使用了类似于C语言家族的习惯(包括C, C++, C#, Java, JavaScript, Perl, Python等)。
这些特性使JSON成为理想的数据交换语言。
2.数据交换格式比较之关于轻量级和重量级:
XML目前设计了两种解析方式:DOM和SAX;
JSON构建于两种结构:
key/value集合;
数组;
SAX:不需要整个读入文档就可以对解析出的内容进行处理,是一种逐步解析的方法。
程序也可以随时终止解析。
这样,一个大的文档就可以逐步的、一点一点的展现出来,所以SAX适合于大规模的解析。
这一点,JSON目前是做不到得。
所以,JSON和XML的轻/重量级的区别在于:
JSON只提供整体解析方案,而这种方法只在解析较少的数据时才能起到良好的效果;
而XML提供了对大规模数据的逐步解析方案,这种方案很适合于对大量数据的处理。
3.数据交换格式比较之关于数据格式编码及解析的难度:
主观:JSON更为清晰且冗余更少些;
总体:XML比较适合于标记文档,而JSON却更适于进行数据交换处理;
解析:XML,都常常导致复杂的代码,极低的开发效率;
实际:对于大多数web应用来说,根本不需要复杂的XML来传输数据。