首页 / 百科 / YAML

YAML

开发

人类友好的配置序列化格式

YAML(YAML Ain't Markup Language)以缩进表达层级、语法接近自然文本,是 Kubernetes、GitHub Actions、CI/CD 与 Docker Compose 的标准配置语言,当前主流规范为 YAML 1.2(2009)。

设计哲学与历史

YAML 1.0 于 2004 年发布,1.1(2005)与 1.2(2009)相继演进;1.2 起把 JSON 定位为"YAML 的子集"(严格说 1.2 核心模式下的子集)。名字是对自身递归的戏称——YAML Ain't Markup Language,强调它是面向数据而非文档标记的。

语法要点

层级靠两个空格的缩进表达(禁用 Tab);键值对 key: value;列表用 - 项;多行文本用 |(保留换行)或 >(折叠换行);注释以 # 开头。坑位集中在隐式类型:no/yes/on/off 在 1.1 被解析为布尔(挪威国家码 NO 变 false 的著名事故),版本号 1.2 变浮点,都需加引号规避。

典型用场

Kubernetes 资源清单、GitHub Actions/Azure Pipelines、Docker Compose、Ansible、OpenAPI(Swagger)描述、各类静态站点配置。与 JSON 相比适合"人写人读";机器互传、超大文件仍以 JSON/二进制为宜。解析器实现差异大,跨语言迁移配置文件后务必跑一遍校验。

相关词条