编码解码哈希加密格式化时间转换开发生成文本处理网络工具其他工具
首页 / 格式化 / YAML转JSON

YAML转JSON

把 YAML 快速转成标准 JSON

输入 YAML
JSON 结果

这个工具能做什么

YAML 是写配置时最常用的格式之一,缩进清晰、比 JSON 少了大量引号和花括号,人读起来省事;但很多程序、接口和命令行工具只认 JSON。这个工具做的就是把常见的 YAML(yaml/yml 内容)转成标准 JSON,也就是常说的 yaml to json,你把内容粘进来就能得到对应的 JSON 结果,省去手写引号、逗号、括号再对照缩进的麻烦。无论是想把一段 docker-compose、CI 配置临时喂给某个只收 JSON 的工具,还是单纯想看清一段 yaml 解析后到底是什么结构,yaml转json 这一步都能一次搞定。

解析是按行、按缩进进行的:工具先根据每行的前导空格判断层级,再看这一行是 key: value 的映射,还是以短横线 - 开头的列表项,据此拼出嵌套的对象和数组。对每个标量值会做类型推断——不带引号且符合数字、布尔(true/false)或 null 写法的会转成对应的 JSON 类型,其余按字符串处理;用单引号或双引号包起来的一律当字符串,因此给值加引号是强制保留字符串类型的可靠办法。行内的 # 注释会被忽略,[a, b] 和 {k: v} 这类流式(flow)简写集合也会被识别并展开。最终输出的是键名带双引号、UTF-8 编码的规范 JSON。

最常见的用法是排查和转换配置文件。比如你手上有一份 Kubernetes 清单或 GitHub Actions 的工作流 yaml,缩进多了几层眼睛容易看花,把它做一次 yaml解析 转成 JSON,对象和数组的边界一目了然,很快就能确认某个字段到底挂在哪一层。又比如某个老接口或脚本只接受 JSON 入参,而你的配置是 yml 写的,用 yml转json 转一遍复制过去即可,不用手动改格式。对于临时调试、写文档时贴一段等价的 JSON,也比自己一个个手动改来得快且不易出错。

需要注意的是,本工具只覆盖 YAML 的常见子集,锚点与引用(& 和 *)、用 --- 分隔的多文档等高级特性暂不支持,遇到无法识别的写法会尽量容错而不是直接报错,所以复杂文件转换后最好核对一下结果。缩进请统一用空格(建议一级 2 个空格),YAML 规范本身不允许用 Tab 做缩进,混用容易导致层级判断错乱。另外它和 JSON 格式化、YAML 语法校验类工具定位不同——只做 yaml转换json 的单向转换,不会把 JSON 再转回 YAML。整个过程都在你本地浏览器里完成,不会上传任何数据。

YAML转JSON是一个免费的在线工具,打开网页就能用,不用下载也不用注册。平时大家搜的“yaml转json”、“yml转json”、“yaml转换json”,说的都是这个。

常见使用场景

使用方法

  1. 把内容粘贴到输入框(生成类工具直接设置选项)。
  2. 按需要选择选项,点操作按钮。
  3. 结果出现在下方,点「复制结果」即可带走。

常见问题

这个工具能把 JSON 再转回 YAML 吗?
不能。它只做 YAML 到 JSON 的单向转换,如果需要反向的 JSON 转 YAML,请使用对应的 JSON 转 YAML 工具。
支持锚点(&/*)和 --- 多文档吗?
暂不支持。工具只覆盖 YAML 的常见子集,锚点、引用、多文档等高级特性不会被解析,遇到这类写法会尽量容错,但结果建议自行核对。
为什么我写的 123 或 true 被转成了数字和布尔,而不是字符串?
这是 YAML 的类型推断:不带引号且符合数字、布尔或 null 写法的值会被识别为对应类型。如果你想保留成字符串,给它加上单引号或双引号即可,例如 "123"。
缩进必须用空格吗?能用 Tab 吗?
必须用空格,YAML 规范本身就不允许用 Tab 做缩进。建议一级用 2 个空格,同一文件内保持一致,否则容易出现层级判断错乱。
转换时会把我的配置文件上传到服务器吗?
不会。所有解析和转换都在你本地浏览器里完成,不会把粘贴的内容上传到任何服务器,配置里的敏感信息也不会外传。

相关工具

查看全部「格式化」工具 →