39 | XML、JSON、YAML比较
四火
该思维导图由 AI 生成,仅供参考
你好,我是四火。
XML 和 JSON,是程序员几乎每天都会打交道的数据、特别是配置数据的承载格式。我想你心里应该有一个大致的印象,它们二者各有什么优劣,但是也许没有系统地比较过。那今天我们就把它们放到一起,丁是丁卯是卯地分析分析,对比一下它们各自的特点。另外,这些年来,对于配置,特别是复杂 DSL 的配置,YAML 也逐渐流行开来,因此我们也把它拿过来剖析一番。
XML 和 JSON 的比较
XML 全称叫做 Extensible Markup Language,就像 HTML、CSS 一样,是一种标记语言(标记语言不属于传统意义上的编程语言),且是一种具备结构化特征的数据交换语言;类似地,JSON,也就是 JavaScript Object Notation,被称作 JavaScript 对象表示法,非结构化,更轻量,但归根结底也是一种数据交换语言。因此,二者具备相当程度的相似性,在实际应用中,往往也可以比较和替代。
1. 简洁还是严谨
在 [第 04 讲] 的时候,我介绍了 REST 和 SOAP 这样一个简洁、一个严谨的俩兄弟。而在本讲中,JSON 和 XML 也在一定程度上同样满足这样的比较关系,JSON 往往是更为简洁、快速的那一个,而 XML 则更为严谨、周全。
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
- 深入了解
- 翻译
- 解释
- 总结
XML、JSON和YAML是常见的数据交换和配置格式,它们各自具有独特的特点和适用场景。XML作为一种标记语言,结构严谨,需要定义每个数据的结构,支持XSD进行严格校验。JSON则更为简洁、快速,与JavaScript对象亲和力强,支持路径表达式JSONPath。而YAML则以其优秀的可读性和缩进特点逐渐流行,适用于复杂DSL配置。XML在数据校验的支持和数据类型表达能力方面具有优势,而JSON则在报文大小和程序处理性能上表现出色。另外,YAML以其清晰的层次结构表达和可读性脱颖而出。总的来说,XML严谨,JSON简洁快速,YAML适用于复杂配置,读者可以根据实际需求选择合适的数据交换格式。文章通过比较XML和JSON的简洁与严谨、JavaScript对象与JSON亲和力、路径表达式等方面,展现了它们各自的特点,帮助读者更全面地了解这些数据交换语言。
仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《全栈工程师修炼指南》,新⼈⾸单¥59
《全栈工程师修炼指南》,新⼈⾸单¥59
立即购买
© 版权归极客邦科技所有,未经许可不得传播售卖。 页面已增加防盗追踪,如有侵权极客邦将依法追究其法律责任。
登录 后留言
全部留言(4)
- 最新
- 精选
- leslie从操作系统方面而言其实代表了两类操作系统数据库:windows和linux;sql server2005开始就有不少数据用了xml格式,JSON的典型代表是mongodb。 xml的强结构化,可读性非常好;曾经主攻sql server时大量的开发直接生成xml,其文档的可读性和强结构化让代码做优化和修改时非常方便,当今主流的mybatis框架用的同样是xml格式。老师在说javascripe时其实漏了一个东西BSON,JSON同时代的产物,只是现在提及的人较少而已。 XML和JSON其实是两种类型的典型代表,各有千秋,合适的场景各取所长合理搭配才是最佳方案。
作者回复: 👍 BSON 是众多数据交换格式中的一种,现在使用并不多,而且是二进制的。
2019-12-091 - 梁鑫辉yaml相对于json来说,在作为配置文件的场景下,有个优势是:可以添加注释2019-12-198
- 許敲敲JSON的http报文大小更小,并且文件格式对于JS,Python来讲更容易操作,所以在web中更流行吧。2019-12-093
- 靠人品去赢JSON前段后台通讯用比较不错,看了一下文中关于JSON和YAML的比较,总体感觉就是YAML要求更高,不管是目的,YAML在保持可读性的同时还要支持连续的基本数据结构,像什么key的唯一性YAML是必须的,JSON就可以乱搞。 但是工作中,感觉YAML对手更应该是XML,还有一个“free style”选手,properties配置文件。2019-12-09
收起评论