简述 YAML

简述 YAML

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 不是人类可读的,需要更多的带宽和存储容量,但提供了无与伦比的控制。

 

yamlnode.js