DevToolPal
简

YAML 格式化与校验

检查 YAML 语法,列出每个错误的行号和列号,并把有效的 YAML 重新格式化为统一缩进。

本地处理,不上传

选项

缩进

YAML

0 字符 · 0 B

校验结果

结果会显示在这里

这是什么

YAML 易读,因此被广泛用于配置文件:Kubernetes 清单、GitHub Actions 和 GitLab CI 工作流、Docker Compose、Ansible playbook、OpenAPI 文档等。但它也很容易写坏:多缩进一个空格、用了 Tab、引号没闭合、冒号后少了空格,都可能改变文件的含义或让它无法加载。

这个工具解析你的 YAML,报告每个语法错误及其行号和列号,以及未知指令之类的警告。YAML 有效时,会显示文档数量和每个文档根节点的类型,还可以输出一份缩进统一、整洁的格式化版本。

怎么用

  1. 把 YAML 粘贴到输入框,或上传 .yaml、.yml 文件,也可以点 示例。
  2. 结果随输入实时显示:绿色的 YAML 有效 标记,或者类似 第 3 行,第 2 列 的错误列表。
  3. 保持 显示格式化后的 YAML 开启即可得到整洁的副本,可选 2 或 4 个空格缩进,用代码块上方的按钮复制。
  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 会被上传吗?

不会。解析在浏览器里完成,带密钥的配置文件也不会离开你的电脑。