JSON和XML比较

1、各自定义

XML

扩展标记语言 (Extensible Markup Language, XML) ,用于标记电子文件使其具有结构性的标记语言,可以用来标记数据、定义数据类型,是一种允许用户对自己的标记语言进行定义的源语言。XML使用DTD(document type definition)文档类型定义来组织数据;格式统一,跨平台和语言,早已成为业界公认的标准。

XML是标准通用标记语言 (SGML) 的子集,非常适合 Web 传输。XML 提供统一的方法来描述和交换独立于应用程序或供应商的结构化数据。

JSON

JSON(JavaScript Object Notation)是一种轻量级的数据交换格式。易于人阅读和编写。同时也易于机器解析和生成。它基于JavaScript Programming Language, Standard ECMA-262 3rd Edition - December 1999的一个子集。 JSON采用完全独立于语言的文本格式,但是也使用了类似于C语言家族的习惯(包括C, C++, C#, Java, JavaScript, Perl, Python等)。 这些特性使JSON成为理想的数据交换语言。

JSON建构于两种结构:

“名称/值”对的集合(A collection of name/value pairs)。不同的语言中,它被理解为对象(object),纪录(record),结构(struct),字典(dictionary),哈希表(hash table),有键列表(keyed list),或者关联数组 (associative array)。

值的有序列表(An ordered list of values)。在大部分语言中,它被理解为数组(array)。

关于JSON的更多描述,可见:http://json.org

2.XML和JSON对比

XML

1)应用广泛,可扩展性强,被广泛应用各种场合(优点)

2)可读性强,可描述复杂结构(优点)

3)读取、解析没有JSON快(缺点)

XML的应用已经深入人心,不再赘述。

JSON

1)结构简单,都是键值对。(优点)

2)读取、解析速度快,很多语言支持(优点)

3)传输数据量小,传输速率大大提高(优点)

4)描述复杂结构能力较弱(缺点)

JavaScript、PHP等原生支持,简化了读取解析。成为当前互联网时代普遍应用的数据结构。

5、建议选择原则

1)对于复杂的数据结构使用XML,简单的数据结构可采用JSON。

2)在互联网应用中数据传输中,提倡使用JSON。

3)针对前后端的差异,可以在服务端使用XML,在前端使用JSON,两者之间的转换在服务器端完成。这样可以各取所长。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,087评论 19 139
  • JSON(Javascript Object Notation) 是一种轻量级的数据交换格式。易于人阅读和编写。同...
    l_genius阅读 5,129评论 0 5
  • 1.定义介绍 (1).XML定义 扩展标记语言 (Extensible Markup Language, XML)...
    iplaycodex阅读 776评论 0 4
  • 今个去面试,一个人事经理问我xml和json的区别我没答上来感觉很难过,于是就回来后就查阅相关资料写点东西:: 1...
    丁桥人在外地阅读 13,143评论 5 35
  • CCU 心脏重症监护病房 我转到了这里,玻璃门一打开,首先看到的是五张病床,三张上面躺着正在睡觉的老人,外加各种各...
    DXPing阅读 470评论 0 1