ZonoTools

什么是 YAML?带示例的入门指南

作者 ZonoTools8 分钟阅读

什么是 YAML?

YAML 是一种让人容易阅读的结构化数据格式,常用于设置、清单和嵌套信息。它的官方含义是 YAML Ain't Markup Language,也就是说它不是 HTML 那样的文档标记语言,而是数据格式。

简短回答:YAML 是用缩进和少量符号描述 map 和 list 的文本格式。程序会把 YAML 解析成和 JSON 类似的对象、数组、字符串、数字、true/false 和 null。

基本语法

YAML 建立在三件事上:key-value、list 和 indentation。

  • key-value:写 key:,值可以在同一行或缩进到下一行。
  • list:每个项目以 - 开头。
  • indentation:嵌套使用空格,通常每层两个空格。

app 是一个 map,包含 nameporttags 是两个字符串组成的 list。

yaml
app: name: demo port: 3000 tags: - web - api

YAML vs JSON

YAML 和 JSON 描述的是同类数据。JSON 使用 {}, 和带引号的字符串;YAML 更多依赖布局,简单文本通常不需要引号。

JSON 常见于 API 和浏览器。YAML 常见于人手工编辑的文件,例如配置、pipeline 和基础设施片段。

真实使用场景

Kubernetes 和很多云工具使用 YAML manifest 描述要运行什么、运行多少副本、开放哪些端口。

CI/CD 系统常用 YAML 描述步骤、触发条件和环境。

应用配置文件 也常用 YAML,因为非开发者有时也需要调整 feature flag 或 URL。

转换 JSON 到 YAML

如果你有来自 API、教程或生成器的 JSON,可以用 JSON to YAML 在浏览器中转换,再用 YAML Validator 检查语法。

结论

学习 YAML 主要靠实践:阅读小样例,尊重缩进,并在日期、boolean-like 值或包含冒号的文本上使用引号作为安全网。

footer=