跳到主要内容

格式转换简洁明了:JSON To YAML

使用 yaml 库将 JSON 转换为 YAML 块样式:对象变为缩进的键,数组变为短横线列表,键的顺序保持不变。像 "8080" 这样会被 YAML 读成其他类型的字符串会加上引号。

把 JSON 数据转成 Kubernetes、Docker Compose 或 CI 用的 values 文件或配置片段。

JSON

适用场景

  • 把 JSON 数据转成 Kubernetes、Docker Compose 或 CI 用的 values 文件或配置片段。
  • 以缩进的 YAML 代替括号来阅读深层嵌套的 JSON 文档。

使用方法

  1. 将标准 JSON 粘贴到左侧编辑器,或加载 .json 文件。
  2. 检查右侧的 YAML;带引号的值是字符串,不加引号就会改变类型。
  3. 把 YAML 复制到配置文件中,并用将要读取它的工具进行检查。

JSON 输入

{"service":"billing-api","replicas":2,"env":{"LOG_LEVEL":"info","PORT":"8080"},"ports":[80,443],"note":null}

YAML

service: billing-api
replicas: 2
env:
  LOG_LEVEL: info
  PORT: "8080"
ports:
  - 80
  - 443
note: null

功能与限制

转换在浏览器中进行。没有缩进宽度、流样式或引号样式的设置。

输入必须是标准 JSON:注释、末尾逗号和不带引号的键会导致错误。请先用 JSON 格式化清理。

null 保持为 null,空数组变为 [],空对象变为 {}。包含换行的字符串会写成 |- 块标量。

FAQ

"001" 或 "8080" 会保持为字符串吗?

会。字符串看起来像数字或布尔值时会加引号写出,例如 PORT: "8080"。只有当 JSON 中本来就是数字时,前导零才会丢失。

能转换根节点为数组的 JSON 吗?

可以。根数组会变成顶层 YAML 序列,每个对象写成一个短横线项。

会添加 YAML 注释或锚点吗?

不会。JSON 没有注释,转换器也不会创建锚点或别名;重复的对象会完整写出。

规范与参考资料