YAML 转 JSON
在浏览器中把 YAML 转成 JSON:展开锚点和合并键,支持多文档和日期转换,错误会标出行号和列号。
YAML 手写起来很舒服,但 API、JavaScript 代码和许多工具需要的是 JSON。本转换器用 js-yaml 解析器读取 YAML,展开锚点和别名,应用合并键(<<: *defaults),支持用 --- 分隔的多个文档,然后按你选择的缩进输出标准 JSON。所有处理都在浏览器中完成。
使用方法
- 粘贴你的 YAML(Kubernetes 配置清单、CI 文件、OpenAPI 规范等)。
- 选择 JSON 缩进,或选择“压缩”得到单行。
- 选择多个文档的处理方式:输出为数组、只取第一个,或每行一个 JSON。
- 决定日期保持原样还是转换为 ISO 8601 时间戳,然后复制 JSON。
计算公式
映射 → 对象 · 序列 → 数组 · 标量 → 字符串、数字、true/false 或 null
普通标量按 YAML 1.2 核心规则确定类型:true/false、null/~、整数(包括 0x1F 和 0o14)和浮点数。yes、no、on 等词只在旧的 YAML 1.1 中才是布尔值,因此保持为字符串。.inf 和 .nan 因 JSON 无法存储而变成 null,!!binary 数据会变成 Base64 字符串。
示例
默认示例在 defaults: &defaults 中定义了 timeout 30 和 retries 2,然后在 production: <<: *defaults 中指定 timeout 60。转成 JSON 后,production 变为 {"timeout": 60, "retries": 2}:合并会复制这两个键,而本地写的 timeout 优先。enabled: yes 保持为字符串 "yes",released: 2026-03-01 保持为 "2026-03-01",除非选择 ISO 转换,此时会得到 "2026-03-01T00:00:00.000Z"。
常见问题
为什么错误指向的行不对?
解析器报告的是文本不再说得通的位置,这可能紧跟在真正的错误之后,例如一个从未闭合的括号会在文件末尾才被报出。请也检查上一行。
注释会保留吗?
不会。JSON 没有注释,所以会被丢弃。键的顺序保持不变,但像 2 这样的整数键会和任何 JavaScript 对象一样排在最前面。
重复的键会怎样?
会报错。YAML 规范要求键唯一,悄悄保留其中一个值会掩盖真正的错误。
怎样反过来转换?
请使用 JSON 转 YAML。
资料来源
最后更新:
包含这些输入的页面地址: https://kakao.mobile/zh/tools/yaml-to-json-converter/
引用此工具
kakaoCalc. (2026, November 8). YAML 转 JSON. https://kakao.mobile/zh/tools/yaml-to-json-converter/
“YAML 转 JSON.” kakaoCalc, 8 Nov. 2026, kakao.mobile/zh/tools/yaml-to-json-converter/.