跳到正文
马克工具箱

YAML 转 JSON

把 Kubernetes 清单、Compose 文件、CI 配置等 YAML 转成 JSON,交给只接受 JSON 的接口和工具。锚点、别名和多行字符串会被展开,语法错误会提示所在行号。

在浏览器本地运行,输入的内容和文件都不会上传

YAML → JSON
输出 (JSON)

使用步骤

  1. 在左侧粘贴 YAML,或点击「载入示例」。
  2. 选择 JSON 的缩进,结果实时更新。
  3. 按提示修正错误,错误信息包含行号。
  4. 复制或下载 JSON。

参数说明

锚点与别名
&name 定义可复用的内容块,*name 引用它。转成 JSON 时被引用的内容会完整复制一份。
多行字符串
| 保留换行,> 把多行折叠成空格。两者都会变成普通 JSON 字符串,保留的换行写作 \n。
重复键
YAML 规定同一映射中不能出现重复的键,但很多解析器会默默保留最后一个。本工具会把它报为错误,避免问题被掩盖。

示例

YAML:

defaults: &defaults
  retries: 3
  timeout: 30
production:
  <<: *defaults
  timeout: 60

JSON:

{
  "defaults": { "retries": 3, "timeout": 30 },
  "production": { "retries": 3, "timeout": 60 }
}

常见问题

为什么提示缩进错误?

YAML 用缩进表示层级,而且不允许使用 Tab。请确保同一列表或映射中的项从同一列开始,并且只用空格缩进。

注释会怎样?

JSON 不支持注释,转换时会被丢弃。

yes/no、on/off 会怎么转换?

本工具遵循 YAML 1.2,只有 true 和 false 是布尔值,yes、no、on、off 仍是字符串。老的 YAML 1.1 解析器(包括 PyYAML)会把它们当作布尔值,共享配置时建议给这些值加引号。

能转换用 --- 分隔的多个文档吗?

可以。每个文档会按顺序成为 JSON 数组中的一个元素。

隐私说明

本工具完全在浏览器中运行,文件和文本都在你的设备上处理,不会上传到我们的服务器。

相关工具