YAML 格式化 / 校验

校验 YAML 语法并规范化缩进

浏览器内运算YAML Formatter & Validator排错型01格式化与校验

什么是YAML 格式化 / 校验

YAML 校验工具解析 YAML 文本并报告语法错误的行号,同时可把内容规范化输出为统一缩进。它常用于排查 Kubernetes 清单、CI 配置与 docker-compose 里的缩进和类型问题,解析在浏览器内完成。

怎么用YAML 格式化 / 校验

  1. 1粘贴 YAML 内容,支持多文档(以 --- 分隔)。
  2. 2查看校验结果:通过时会显示解析出的文档数量与顶层键。
  3. 3出错时按提示的行号定位,YAML 错误几乎都源自缩进或冒号后缺空格。
  4. 4需要统一风格时,用规范化输出替换原文件内容。

在代码里怎么实现?

一次性操作用上面的工具,重复性工作建议固化到脚本或项目里。

# 校验并输出规范化结果
yq . config.yaml

# 只校验
python -c "import sys,yaml;yaml.safe_load(open(sys.argv[1]))" config.yaml

常见错误与排查

现象成因修复
mapping values are not allowed here冒号后面缺少空格,或同一行出现了两个冒号结构。确保每个 key: value 的冒号后有一个空格。
found character that cannot start any token使用了制表符缩进,YAML 规范只允许空格。把所有制表符替换为空格,并在编辑器里禁用 tab 缩进。
on 被解析成了 trueYAML 1.1 会把 on/off/yes/no 当作布尔值,GitHub Actions 的 on 字段常被误解析。需要字符串时用引号包裹,如 "on"。

常见问题

YAML 报缩进错误但我看不出问题,怎么排查?+

优先检查三件事:是否混用了制表符与空格、列表项的短横线是否与父键对齐、以及同级键的缩进是否完全一致。把内容粘进来校验后,工具给出的行号通常就是缩进层级第一次不一致的位置。

能校验 Kubernetes 清单的字段是否正确吗?+

本工具只校验 YAML 语法层面,不校验 Kubernetes 的 Schema。语法通过但字段拼错时仍会被 kubectl 拒绝,Schema 校验需要 kubeconform 或 kubectl --dry-run=server。

相关工具

全部工具