在线 YAML 和 JSON 双向转换工具:YAML 转 JSON,JSON 转 YAML。保持数据结构,支持嵌套对象和数组。
摘要:免费的 YAML 与 JSON 双向转换工具,保持数据结构,支持嵌套对象与数组,本地运行无需注册。
本地工具可在 DevTools → Network 搜索输入内容,通常不会出现在请求中。
下一步
使用指南
YAML 好于给人读(K8s、CI、Compose),JSON 长于给程序读(API、配置下发)。两边来回转是日常操作,也是缩进错误的重灾区。本工具双向转换,并在 YAML 出错时给出针对性提示——全部本地解析,配置内容不上传。
1. YAML ↔ JSON
默认示例已包含映射与列表,可先跑通再换成自己的配置。转换保持数据结构等价,但 YAML 的注释在转成 JSON 后会丢失——这是格式能力差异,不是工具漏了。
- YAML → JSON:左侧粘贴 YAML,点击转换,右侧得到等价 JSON。
- JSON → YAML:在 JSON 侧粘贴,反向转换得到缩进清晰的 YAML。
- 出错时阅读提示:缩进混用、冒号后缺空格、列表短横线位置等会被点名。
2. YAML 最常踩的坑
JSON 侧常见问题则是尾逗号、单引号、未转义换行。先把 JSON 在格式化工具里修到合法,再转 YAML,能少走一半弯路。
- Tab 与空格混用:YAML 禁止 Tab 缩进,编辑器显示「对齐」但解析失败。
- 冒号后必须有空格:key:value 非法,key: value 才合法。
- 列表项短横线与缩进层级:子项必须比父级更深一层,对齐错误会变成别的结构。
- 未加引号的特殊字符:含冒号、#、{ } 的字符串最好加引号。
3. 典型使用场景
相关下一步:结构要对齐时用 JSON Diff;要从 JSON 生成类型定义时用 JSON→TypeScript / Go / Java。本页只负责格式互换,不校验业务 schema——那是 JSON Schema 校验器的工作。
- 把 docker-compose / GitHub Actions YAML 片段转成 JSON 交给只吃 JSON 的工具链。
- 把 API 响应 JSON 转成 YAML,方便贴进设计文档给人读。
- 对比「肉眼相同」的两份配置前,先统一成同一种格式再做 diff。
4. 大整数与精度边界
浏览器里的 JSON 数字受 IEEE-754 限制:超过 2^53-1 的整数会丢精度。本页在 JSON→YAML 方向会尽量把超大整数写成字符串形态以保住位数;YAML→JSON 仍受解析器数字类型限制——订单号、雪花 ID 这类字段,源头就用引号包成字符串更稳。转换成功不等于「业务上可往返」:精度丢了,diff 看起来只是数字变了。
5. 多文档与锚点:本页不覆盖的能力
- 以 --- 分隔的多文档 YAML 常见于 Helm/K8s 清单;本页按单文档解析,遇到多文档请先拆开再转。
- 锚点与别名(&anchor / *alias)是 YAML 独有复用语法,转成 JSON 后会展开成重复结构,别名本身不会保留。
- 布尔与空值的 YAML 方言(yes/no/on/off、~)会被解析成 true/false/null——若你其实想要字符串 "yes",请加引号。
6. 和「先格式化再转换」的工作流
脏 JSON(尾逗号、注释伪 JSON)应先过 JSON 格式化/校验,再进本页;脏 YAML 则直接看本页报错提示修缩进。两边都合法后,再用文本 diff 或 JSON diff 做变更审查。把转换页当成「语法闸门」,比当成「随便贴就出结果」更不容易把坏配置推进仓库。K8s/CI 场景里,先 YAML→JSON 再丢给只认 JSON 的校验器,是把「缩进错误」提前暴露的常用手法;反过来,JSON→YAML 则方便把接口样例写进给人读的 RFC/设计文档。转换前后用 JSON Diff 或文本 Diff 看一眼结构是否等价,能捕捉「布尔被写成字符串」或「大整数被截断」这类静默变化。
常见问题
最主要是 YAML 注释:转成 JSON 后必然丢失,这是格式能力差异而非工具缺陷,注释重要请保留 YAML 母版。数据结构本身双向等价。
有可能。浏览器 JSON 数字受 2^53-1 限制:JSON→YAML 方向会尽量把超大整数写成保位数的形态,YAML→JSON 仍受解析器限制。订单号、雪花 ID 这类字段,源头就写成字符串最稳。
本页按单文档解析,--- 分隔的多文档(Helm/K8s 清单常见)请先拆开。锚点/别名(&anchor / *alias)会展开为重复结构,别名不保留;yes/no/on/off 和 ~ 会被解析成布尔或 null,想要字符串请加引号。
大概率是四件事之一:Tab 与空格混用(YAML 禁止 Tab 缩进);冒号后缺空格(key: value 才合法);列表短横线比父级缩进浅;含冒号、#、{} 的字符串没加引号。本页会逐条点名提示。JSON 侧则常见尾逗号和单引号——先过格式化工具修到合法再转。
典型场景:把 docker-compose / GitHub Actions 片段转成 JSON 喂给只吃 JSON 的工具链;把 API 响应转成 YAML 贴进给人读的设计文档;「肉眼相同」的两份配置先统一格式再 diff。结构对齐用 JSON Diff,生成类型用 JSON→TypeScript/Go/Java——本页不校验业务 schema。
可以:解析全部在本机浏览器里跑完,配置不出这台机器,也没有用量门槛。
相关工具
相关文章
在线 JSON/YAML 转换器:配置文件格式互转工具
学习如何在 JSON 和 YAML 格式之间转换配置数据。了解 JSON 和 YAML 的特点差异,以及在 DevOps 和配置管理中的应用场景。
YAML JSON 转换完全指南:原理、工具与实战避坑
深入理解 YAML 和 JSON 的区别与联系,掌握 YAML JSON 双向转换的各种方法——在线工具、命令行、代码实现,以及 YAML 1.1/1.2 陷阱、锚点合并键、多文档流等常见坑。
在线 XML/JSON 转换器:数据格式互转工具
学习如何在 XML 和 JSON 格式之间转换数据。了解属性/@ 前缀、CDATA、数组折叠与校验错误定位,以及在 API 集成与遗留系统对接中的用法。