要点
- 01使用 js-yaml 解析器用一致的缩进格式化 YAML — 与 Node.js 构建工具中使用的库相同。
- 02验证语法并报告错误的精确行号。
- 03在两个方向上在 YAML 和 JSON 之间转换,正确保持类型。
- 04没有上传 — 整个操作在浏览器中本地运行。
为什么 YAML 格式化对配置文件很重要
YAML 是 Kubernetes、GitHub Actions、Docker Compose、Helm 图表和许多其他工具的默认配置语言。它对缩进也非常敏感 — 单个缩进不足的行可能会产生静默类型不匹配或硬解析错误,阻止部署。定期格式化保持文件一致并在问题到达 CI 之前抓住它们。
在 YAML 和 JSON 之间转换同样有用。某些工具仅接受 JSON 进行 API 调用或架构定义,而人类通常更喜欢 YAML 用于长期配置文件。能够在两者之间往返而不丢失数据类型 — 数字保持数字,布尔值保持布尔值 — 节省时间并防止微妙的错误。
如何格式化或转换 YAML
- 01
粘贴你的 YAML 或 JSON
粘贴 Kubernetes 清单、GitHub Actions 工作流、Helm 值文件或任何其他 YAML 文档。对于 JSON 到 YAML 的转换,请改为粘贴 JSON。
- 02
选择一个操作
选择格式化 YAML 以规范化缩进并在原地清理文档。选择 YAML 到 JSON 或 JSON 到 YAML 以完全转换格式。
- 03
审查错误(如有)
如果输入有语法错误,该工具会从 js-yaml 解析器显示精确的行号和原因 — 与生产中看到的解析器相同,所以错误与你会看到的匹配。
- 04
复制输出
单击复制获取格式化或转换后的输出。粘贴回你的配置文件、API 主体或架构定义。
此工具何时为你节省时间
- 01Kubernetes 清单已漂移 — 在提交前规范化缩进。
- 02GitHub Actions 工作流无法解析 — 验证以获取精确的错误行。
- 03API 仅接受 JSON 但配置存储为 YAML — 一键转换。
- 04引入新服务 — 为 Helm 图表将 JSON 示例有效负载转换为 YAML。
- 05从 Stack Overflow 复制 YAML — 重新格式化以匹配你的项目的 2 空格风格。
- 06调试 Helm 值合并 — 验证每个 values.yaml 单独清晰。
私密,无需上传
格式化和转换完全在浏览器中使用 js-yaml 运行 — 与 Webpack、Rollup 和大多数 JavaScript 构建工具中捆绑的库相同。你的配置文件、秘密引用和环境变量名永远不会离开你的设备。
解析器针对 YAML 1.2,这是 Kubernetes、GitHub Actions 和 Docker Compose 都使用的版本。如果文件在此验证,它将在这些工具中正确加载。
YAML 格式化工具常见问题
YAML 格式化会保留注释吗?
不会。js-yaml 解析器在解析期间删除注释 — 这是所有 JavaScript YAML 解析器的限制。先格式化,然后手动添加注释回去。
此支持什么 YAML 版本?
YAML 1.2,这是 Kubernetes、GitHub Actions、Docker Compose 和 Helm 使用的版本。在此验证的内容将在这些工具中干净加载。
从 YAML 转换为 JSON 会保留类型吗?
是的。数字、布尔值、null 和日期字符串可以正确往返。YAML 中的 true 在 JSON 中成为布尔值 true,而不是字符串 'true'。
格式化和转换之间的区别是什么?
格式化将文件保持为 YAML 并规范化空格和缩进。转换完全改变输出格式 — YAML 转 JSON 产生 .json 兼容文档。
我的 YAML 有多个用 --- 分隔的文档。它们都会被处理吗?
第一个文档被解析并重新发出。对于多文档文件,在 --- 上拆分每个部分并单独处理它们。