这是什么
YAML 易读,因此被广泛用于配置文件:Kubernetes 清单、GitHub Actions 和 GitLab CI 工作流、Docker Compose、Ansible playbook、OpenAPI 文档等。但它也很容易写坏:多缩进一个空格、用了 Tab、引号没闭合、冒号后少了空格,都可能改变文件的含义或让它无法加载。
这个工具解析你的 YAML,报告每个语法错误及其行号和列号,以及未知指令之类的警告。YAML 有效时,会显示文档数量和每个文档根节点的类型,还可以输出一份缩进统一、整洁的格式化版本。
怎么用
- 把 YAML 粘贴到输入框,或上传
.yaml、.yml文件,也可以点 示例。 - 结果随输入实时显示:绿色的 YAML 有效 标记,或者类似
第 3 行,第 2 列的错误列表。 - 保持 显示格式化后的 YAML 开启即可得到整洁的副本,可选 2 或 4 个空格缩进,用代码块上方的按钮复制。
- 只有当你的工具允许重复键时,才关闭 重复的键视为错误。
常见错误
server:
port: 8080
host: localhost # indented one space too far
tags: [web, api # missing closing bracket
- 缩进不一致:同一层级的项必须从同一列开始。YAML 不允许用 Tab 缩进。
- 冒号后缺空格:
key:value是一个普通字符串,而不是键和值。 - 特殊字符没加引号:以
*、&、!、%、@或反引号开头,或者包含:、#的值需要加引号。 - 类型出乎意料:
yes、no、on、off在 YAML 1.2 中是字符串,在旧的 YAML 1.1 解析器中却是布尔值,稳妥起见请加引号。1.10这样的版本号不加引号会变成数字 1.1。
校验结构
这个工具检查的是语法,也就是文本是否是格式正确的 YAML。要检查文件是否包含正确的键和值类型,可以先用 YAML 转 JSON 工具转换,再用 JSON Schema 校验工具验证结果。
常见问题
› 按哪个 YAML 版本校验?
YAML 1.2,也就是大多数现代工具使用的当前版本。用 --- 分隔的多文档输入会逐个文档检查。
› 为什么重复的键会被当作错误?
YAML 规范要求同一个映射里的键必须唯一,而很多解析器会悄悄只保留最后一个值,把错误掩盖掉。如果你的工具有意允许重复键,可以关闭「重复的键视为错误」。
› 格式化会保留注释吗?
会。注释、键的顺序、锚点和带引号的字符串都会保留,只统一缩进和空格。长字符串不会被折行。
› 我的 YAML 会被上传吗?
不会。解析在浏览器里完成,带密钥的配置文件也不会离开你的电脑。