YAML是一种数据序列化言语,可让以紧凑且可读的格局存储复杂数据。它关于 DevOps 和虚拟化来说很重要,由于它关于构建高效的数据管理体系和自动化至关重要。尽管经常被开发人员忽视,特别是前端工程师,但它是一个功能强大且简略的东西,把握后能够大大改进工作方式和功率

本文将快速介绍一下 YAML。

什么是 YAML?

YAML 是一种数据序列化言语,用于以人类可读的形式存储信息。它开始代表 Yet Another Markup Language,但后来改为YAML Ain't Markup Language,以差异于真正的符号言语。

它类似于 XMLJSON 格局 ,但运用更简约的语法,即便一起坚持类似的功能。YAML 一般用于在基础架构即代码 (IoC) 程序中创立配置文件或在 DevOps 开发管道中管理容器。

YAML 已被用于创立自动化协议,这些协议能够执行 YAML 文件中列出的一系列指令。这意味着体系能够更加独立和呼应敏捷,而无需额外的开发人员关注。

跟着越来越多的公司采用 DevOps 和虚拟化,YAML 正敏捷成为现代开发人员职位的必备技能。经过运用 PyYAML 库、Docker 等盛行技能的支持,YAML 也很容易与现有技能结合。

YAML 与 JSON 与 XML

YAML(.yml

  • 人类可读代码
  • 极简语法
  • 专为数据而设计
  • 类似于 JSON 的内联款式(是 JSON 的超集)
  • 答应评注释
  • 不带引号的字符
  • 被认为是更干净的 JSON
  • 高级功能(可扩展数据类型、联系锚点和保留键次序的映射类型)

在nodejs开发中,结合swagger,能够更好的提供 API 文档。

JSON

  • 更难阅读
  • 明确、严厉的语法要求
  • 类似于 YAML 的内联款式(一些 YAML 解析器能够读取 JSON 文件)
  • 暂无注释
  • 字符串需求双引号

实例:JSON 在 Web 开发中很受欢迎,由于它最合适序列化格局和经过 HTTP 连接传输数据。

XML

  • 更难阅读
  • 更冗长
  • 充当符号言语,而 YAML 用于数据格局化
  • 包括比 YAML 更多的特性,比如标签特点
  • 更严厉定义的文档形式

实例: XML 最合适需求对验证、形式和名称空间进行精细操控的复杂项目。XML 不是人类可读的,需求更多的带宽和存储容量,但提供了无与伦比的操控。