关于 YAML 转 JSON
YAML 是 DevOps 和云原生领域最常见的配置格式(Kubernetes、GitHub Actions、Ansible 都依赖它),但程序、API 和大多数编程语言更习惯处理 JSON。本工具把 YAML 在浏览器本地解析并转为标准 JSON,完整支持锚点(&)与引用(*)展开、多文档(---)拆分为 JSON 数组、块标量(|、>)保留多行结构,并能按类型自动识别 true/false/null/数字/日期。类型识别要特别当心:YAML 1.1 会把 on、no、yes 这类字符串当布尔解析,把看似日期的值当时间戳,如果你希望它们保持原样,请提前在 YAML 里给这些值加引号。若 YAML 存在缩进或语法错误,解析会精确提示行号,相当于一个轻量级 YAML lint 工具。无论是把 K8s 清单转成 JSON 用 jq 提取字段、将配置入库避免后端引入 YAML 库,还是把锚点复用展开看清实际生效值,都能一键完成。例如把 name: Tom 加 age: 20 的 YAML 转成 {"name":"Tom","age":20},缩进层级被还原为嵌套对象。
使用方法
- 打开「YAML 转 JSON」
- 选择源格式与目标格式
- 根据需要调整输出选项
- 点击「转换」按钮,结果实时显示
- 复制或导出结果
使用场景
- 配置入库 — 把 YAML 配置转成 JSON 后写入数据库或通过 API 提交,避免后端额外引入 YAML 解析库。
- 调试 K8s 清单 — 将 kubectl 导出的 YAML 转 JSON,用 jq 或 JSONPath 提取特定字段。
- 前端读取配置 — 浏览器原生支持 JSON.parse,把 YAML 转成 JSON 后前端可直接消费。
- 锚点展开 — 把使用了 YAML 锚点复用的配置展开成完整 JSON,看清实际生效的值。
- 格式校验 — 转换失败即说明 YAML 语法有误,本工具可当作快速 lint 工具。
- 测试夹具 — 用 YAML 简洁地编写测试数据,再转 JSON 供单元测试 fixture 使用。
常见问题
支持多文档 YAML 吗?
支持。用 --- 分隔的多文档 YAML 会被转换为 JSON 数组,每个文档对应数组中的一个元素。
YAML 锚点和引用会怎样?
会被完全展开。&anchor 定义和 *ref 引用在转成 JSON 时会还原为实际的重复内容,因为 JSON 不支持引用机制。
日期、布尔值会被自动识别吗?
会。YAML 的 true/false、null、数字、日期会按类型转换;如果想保留为字符串,请在 YAML 中加引号。
为什么提示缩进错误?
YAML 对缩进极其敏感,同级元素必须对齐且不能用 Tab。错误提示会给出具体行号,按提示检查即可。
多行块标量怎么转换?
| 和 > 保留的段落在转 JSON 时会变成一个包含真实换行的字符串,">"折叠模式的换行会被规范为空格。
能再转回 YAML 吗?
可以,请使用本站的「JSON 转 YAML」工具完成反向转换。