YAML ↔ JSON 互转

YAML 与 JSON 双向转换,自动美化格式化

Ctrl+Enter 执行 · Ctrl+K 清空

输入

13

输出

字符数:0|行数:0

使用说明

粘贴 YAML 点击「YAML→JSON」;粘贴 JSON 点击「JSON→YAML」。支持 K8s、CI 配置文件调试。

关于YAML ↔ JSON 互转

YAML(YAML Ain't Markup Language)是一种以数据序列化为核心目标的标记语言,因可读性强、支持注释、可表达复杂嵌套结构,被广泛应用于配置文件,如 Docker Compose、Kubernetes、GitHub Actions、Ansible Playbook、各类 CI/CD 流水线等。JSON 虽然也是数据交换的事实标准,但不支持注释、必须使用双引号、不能有尾逗号,编写与阅读时不如 YAML 直观。

在现代开发流程中,开发者常需要在 YAML 与 JSON 之间互转:把 K8s manifest 从 YAML 转为 JSON 以便程序化处理、把 GitHub Actions 配置转换为 JSON 后用脚本生成与校验、调试 CI 报错时查看 YAML 实际解析后的数据结构等。手动编写转换脚本既繁琐又易错,借助在线工具可以一键完成。

本工具完全在浏览器本地完成 YAML 与 JSON 的双向转换,基于 js-yaml 库实现,支持多文档(--- 分隔)、注释、锚点、别名等 YAML 高级特性。所有数据不会上传到任何服务器,可放心处理包含密钥、Token 等敏感信息的配置文件。

核心特性

双向即时转换

在 YAML 与 JSON 之间一键切换,粘贴即转换,方便快速对比与验证。

多文档支持

支持 YAML 多文档(--- 分隔),自动合并为 JSON 数组输出,适配 K8s 多资源 manifest 场景。

注释与锚点兼容

基于 js-yaml 解析,正确处理 YAML 注释、锚点(&)、别名(*)等高级特性。

错误精准定位

YAML 或 JSON 解析失败时返回具体错误信息,包括行号与原因,帮助快速定位。

本地处理零上传

所有转换在浏览器内完成,敏感配置不离开您的设备,隐私安全有保障。

使用场景

1

调试 K8s 配置

把 Kubernetes 的 YAML manifest 转换为 JSON,便于使用 jq 命令或程序化处理,验证字段是否正确。

2

编写 CI 流水线

GitHub Actions、GitLab CI 等 YAML 配置出错时,转换为 JSON 后查看实际数据结构,定位缩进或字段问题。

3

生成配置文档

把 YAML 配置转换为 JSON 后嵌入到 API 文档或 SDK 中,便于其他语言直接读取。

4

学习 YAML 语法

通过对比同一份数据的 YAML 与 JSON 表示,理解 YAML 的缩进、列表、字典等概念。

常见问题

YAML 转 JSON 后注释会丢失吗?

会。JSON 标准不支持注释,YAML 中的注释在转换为 JSON 后会被丢弃。如需保留注释信息,请将注释内容以字符串字段形式存储在数据中。

为什么我的 YAML 转换失败?

常见原因包括:缩进不一致(YAML 不允许 Tab 缩进)、冒号后未加空格、列表项前未加空格、字符串未加引号导致特殊字符冲突。请查看错误提示中的行号定位问题。

支持多文档 YAML 吗?

支持。本工具会自动识别 YAML 文档分隔符(---),将多个 YAML 文档转换为 JSON 数组输出,每个元素对应一个 YAML 文档。

转换后的 JSON 与 YAML 数据完全等价吗?

数据内容等价,但部分 YAML 特有结构(如锚点、别名、多行字符串折叠方式)在 JSON 中可能以不同形式表达。YAML 的灵活性使得同一份数据可能有多种 YAML 写法,但 JSON 表示是唯一的。