功能简介
这个工具可以把 YAML 转成 JSON,也可以把 JSON 转成 YAML。YAML 易读易写,常用于配置文件,比如 Kubernetes、Docker Compose、GitHub Actions 和 OpenAPI 规范;而大多数程序、接口和浏览器使用的是 JSON。两者互转后,你可以校验配置、把配置交给脚本处理,或者把接口返回的数据变成易读的配置文件。
使用方法
- 把 YAML 粘贴到「输入」框,或把
.yaml、.yml文件拖进去,也可以点「示例」。 - 输入的同时,右侧就会显示 JSON。缩进可以选 2 个或 4 个空格。
- 把「方向」切换到 JSON → YAML 即可反向转换。长字符串不会被折行,值始终保持在一行。
- 复制或下载结果。
如果 YAML 有错,错误提示会给出行号和列号,点击即可跳到出错位置。常见错误有:缩进不一致、用 Tab 缩进、冒号后面缺少空格、同一层级出现重复的键。
示例
name: devtools
ports:
- 80
- 443
database:
host: db.internal
会变成
{
"name": "devtools",
"ports": [80, 443],
"database": { "host": "db.internal" }
}
YAML 的几个注意点
YAML 会根据普通值猜测类型:3 是数字,true 是布尔值,null 和 ~ 表示空值,而 1.2.0 不是合法数字,所以仍是字符串。想让某个值保持为文本时(比如邮编 "01234"),请给它加上引号。锚点(&name)和别名(*name)可以复用一段内容,转换时会在 JSON 里展开成完整的副本。用 | 写的块字符串会保留换行,用 > 写的会把多行合并成一段。
常见问题
› 我的 YAML 会被发送到服务器吗?
不会。YAML 解析在你的浏览器里完成,Kubernetes 清单、CI 流水线和带密钥的配置文件都不会离开你的设备。
› 支持哪个版本的 YAML?
支持当前标准 YAML 1.2,包括锚点与别名、块和流式集合、多行字符串以及注释。
› 一个文件里有多个文档怎么办?
用 `---` 分隔的多个文档会被转换成一个 JSON 数组,每个文档对应一个元素。结尾 `---` 后面的空文档会被忽略。
› JSON 转 YAML 会保留注释吗?
JSON 本身没有注释,所以没有可保留的内容。YAML 转 JSON 时注释会被丢弃,因为 JSON 无法表示注释。