JSON与XML的战火
2007-09-18 12:36
218 查看
JSON与XML的战火
随着AJAX烈火的迅速蔓延,JSON很快被广泛使用,并且侵入非AJAX领域,XML纯粹主义者奋起反击,激起新一轮的战火。
XML纯粹主义者认为,XML是既有的标准,已经得到了广泛的支持和应用,不需要JSON来重新发明车轱辘(避讳)。而且XML在设计上考虑了从最简单到最复杂的需求,而JSON在复杂情况下将遇到很多限制,将面临各自为政的扩展和变体林立的局面。而且XML有丰富的工具和巨兽级企业的强力支持,能够保证持久的支持,而JSON像LISP一样会失败,可能10年后就无法读取了。
JSON支持者反驳,XML是扩展自文档标签格式来支持包括对象数据的任意数据格式,在表示对象数据时并不方便而且有标签与属性之争,而JSON是纯粹的对象数据格式,而且简单可读,重新发明的好处是可以发明一个更圆的车轱辘(避讳)。与XML相比,JSON相当的轻量级,生成和解析都简单快速。XML是一个用来定义格式的规范,需要庞大复杂缓慢的解析器,而且定义和维护新格式的成本很高,重用已有格式如SOAP、XML-RPC也过于复杂。
其实这就是个牛刀杀鸡的问题,XML是把牛刀,它由巨兽级企业联合锻造,可以完成大、巨、宇宙级别的任何超级任务,同时为了降低成本、主导市场,他们希望所有的人都用这把牛刀。但很多人是干杀鸡这一行的,用牛刀杀鸡不太顺手,于是搞了把廉价的菜刀。
而且简单的东西往往生命力更强,正如在Word、HTML、Flash如此平常的今天,我们依然经常使用Notepad一样。XML工具丰富的同时我们也要问问,为什么我们需要那么多的工具,我想一个有良心的老板不会用Notepad来折磨他的XML程序员。
还有XML支持者反复强调文本编码的国际化问题,但JSON标准明明规定JSON的文本必须是Unicode编码,UTF-8或者UTF-16可以通过Unicode文件头来识别,事实上比XML的情况要简单。
参考:www.json.org
2007-9-19更新:JSON的崛起并不意味着能取代XML,而是在适合它的领域内提供一个XML的替代品,而在文档类数据、复杂数据结构、通用数据交换等领域,XML仍然是目前最好的选择。
随着AJAX烈火的迅速蔓延,JSON很快被广泛使用,并且侵入非AJAX领域,XML纯粹主义者奋起反击,激起新一轮的战火。
XML纯粹主义者认为,XML是既有的标准,已经得到了广泛的支持和应用,不需要JSON来重新发明车轱辘(避讳)。而且XML在设计上考虑了从最简单到最复杂的需求,而JSON在复杂情况下将遇到很多限制,将面临各自为政的扩展和变体林立的局面。而且XML有丰富的工具和巨兽级企业的强力支持,能够保证持久的支持,而JSON像LISP一样会失败,可能10年后就无法读取了。
JSON支持者反驳,XML是扩展自文档标签格式来支持包括对象数据的任意数据格式,在表示对象数据时并不方便而且有标签与属性之争,而JSON是纯粹的对象数据格式,而且简单可读,重新发明的好处是可以发明一个更圆的车轱辘(避讳)。与XML相比,JSON相当的轻量级,生成和解析都简单快速。XML是一个用来定义格式的规范,需要庞大复杂缓慢的解析器,而且定义和维护新格式的成本很高,重用已有格式如SOAP、XML-RPC也过于复杂。
其实这就是个牛刀杀鸡的问题,XML是把牛刀,它由巨兽级企业联合锻造,可以完成大、巨、宇宙级别的任何超级任务,同时为了降低成本、主导市场,他们希望所有的人都用这把牛刀。但很多人是干杀鸡这一行的,用牛刀杀鸡不太顺手,于是搞了把廉价的菜刀。
而且简单的东西往往生命力更强,正如在Word、HTML、Flash如此平常的今天,我们依然经常使用Notepad一样。XML工具丰富的同时我们也要问问,为什么我们需要那么多的工具,我想一个有良心的老板不会用Notepad来折磨他的XML程序员。
还有XML支持者反复强调文本编码的国际化问题,但JSON标准明明规定JSON的文本必须是Unicode编码,UTF-8或者UTF-16可以通过Unicode文件头来识别,事实上比XML的情况要简单。
参考:www.json.org
2007-9-19更新:JSON的崛起并不意味着能取代XML,而是在适合它的领域内提供一个XML的替代品,而在文档类数据、复杂数据结构、通用数据交换等领域,XML仍然是目前最好的选择。
相关文章推荐
- UI:数据的解析XML与JSON
- C++语言处理xml和json格式数据(入门!!!)
- json转xml
- XML和JSON两种数据交换格式的比较
- 通讯数据格式xml与json的区别
- 用C#将XML转换成JSON
- java.lang.NoClassDefFoundError: com/fasterxml/jackson/annotation/JsonView
- php实现xml与json之间的相互转换功能实例
- json、javaBean、xml互转的几种工具介绍
- xml json 数据封装 传递(序列化) 解析
- 使用VS2013将JSON/XML数据转换为对应的数据实体
- FastXML Jackson / JSON 学习记录
- XML与JSON的比较
- python 序列化及其相关模块(json,pickle,shelve,xml)详解
- 10分钟掌握XML、JSON及其解析
- java转换xml、list、map和json
- xml和JSON格式相互转换的Java实现
- Android访问网络系列之--服务端返回XML或JSON格式数据,Android 进行解析并显示
- 【CSDN常见问题解答】Java中JSON转XML
- 使用JsonConvert.SerializeXmlNode时需注意的问题