JSON 转 YAML

热门 🔥

即时转换 JSON ↔ YAML

开发者工具

如何使用 JSON 转 YAML

  1. 1选择转换方向(JSON→YAML 或 YAML→JSON)
  2. 2粘贴输入内容
  3. 3点击转换
  4. 4复制结果

关于 JSON 转 YAML

JSON 转 YAML 工具是一款双向转换工具,可在浏览器中即时完成 JSON 与 YAML 的相互转换。YAML(YAML 不是标记语言)是一种人类可读的数据格式,广泛用于 DevOps、Kubernetes、Docker Compose、GitHub Actions 等工具的配置文件。

在 JSON 和 YAML 之间转换是开发者管理基础架构即代码、应用配置和 API 定义时的常见任务。该工具处理完整转换,包括嵌套对象、数组、多行字符串和正确的 YAML 缩进,无需手动重新格式化数据。

所有转换均在浏览器本地完成,无需服务器。选择转换方向,粘贴数据,即可立即获得结果。

JSON 转 YAML的主要功能

  • 双向转换:JSON → YAML 和 YAML → JSON
  • 处理嵌套对象、数组、字符串、数字和布尔值
  • 生成正确缩进、人类可读的 YAML 输出
  • 支持 YAML 多行字符串(块标量)
  • 转换前验证 JSON 输入
  • 完全在浏览器内运行,无服务器上传
  • 一键复制转换输出
  • 适用于 Kubernetes、Docker Compose 和 GitHub Actions 配置文件

支持的格式

输入格式

JSON 对象和数组YAML 文件和片段

输出格式

格式化的 YAML格式化的 JSON

将 YAML 转换为 JSON 时,YAML 注释不会被保留,因为 JSON 没有注释语法。

示例

将 JSON 配置转换为 Kubernetes 部署的 YAML

将 JSON 应用配置转换为 YAML 格式,用于 Kubernetes 清单文件。

输入

{"replicas":3,"image":"nginx:latest","port":80}

输出

replicas: 3
image: nginx:latest
port: 80

将 YAML GitHub Actions 工作流转换为 JSON

提取 YAML 配置数据并将其转换为 JSON 以进行程序化处理。

输入

name: CI
on:
  push:
    branches: [main]

输出

{"name":"CI","on":{"push":{"branches":["main"]}}}

常见使用场景

  • 将 JSON API 响应转换为 YAML 以用于 Kubernetes 或 Helm Chart
  • 将 YAML 配置文件转换为 JSON 以进行程序化处理
  • 将 Docker Compose YAML 转换为 JSON 以用于验证或模板工具
  • 将 GitHub Actions 工作流 YAML 转换为 JSON 以进行分析或修改
  • 从 JSON 数据源准备 YAML 配置文件
  • 在 JSON 和 YAML 格式之间转换 OpenAPI/Swagger 定义

故障排除

YAML 输出有意外的缩进或换行

解决方案

YAML 缩进非常重要。转换器使用 2 个空格缩进。确保粘贴完整的 YAML 块,并检查复制时是否添加了多余空格。

YAML 中的特殊字符(如 : 或 #)导致输出异常

解决方案

在 YAML 中,键后的冒号和值中的井号必须谨慎处理。转换器会自动将这类值用引号括起来。

YAML 转 JSON 时丢失注释

解决方案

JSON 没有注释语法,因此 YAML 注释(#)无法在 JSON 中表示,转换时会被丢弃。这是预期行为。

常见问题

它支持所有 YAML 功能吗?

该工具支持标准 YAML,包括嵌套对象、数组、多行字符串(块标量)和所有标量类型。锚点、别名和自定义 YAML 标签可能无法完全保留。

转换为 JSON 时 YAML 注释会保留吗?

不会。JSON 没有注释语法,因此 YAML 注释在转换时会被丢弃。这是 JSON 格式的根本限制。

可以转换多文档 YAML 文件吗?

多文档 YAML 文件(以 --- 分隔)可能无法正确转换为单个 JSON 输出。请分别拆分文档并逐一转换。

工具如何处理 YAML 布尔值和 null?

YAML 的 true/false 变为 JSON 的 true/false,YAML 的 null 变为 JSON 的 null。YAML 的 yes/no 和 on/off 会被规范化为 JSON 布尔值。

可以将 OpenAPI YAML 转换为 JSON 吗?

可以。OpenAPI 定义是有效的 YAML 和 JSON。粘贴 YAML 定义并选择 YAML → JSON 即可获得等效的 JSON OpenAPI 规范。

YAML 输入中缩进重要吗?

是的。YAML 使用缩进来定义嵌套层级。不一致的缩进是 YAML 解析错误的常见来源。

我的数据会被发送到服务器吗?

不会。所有转换都在您的浏览器中本地执行。您的 YAML 和 JSON 数据永远不会离开您的设备。

JSON 和 YAML 有什么区别?

两者都表示结构化数据,但 YAML 针对人类可读性进行了优化——它使用缩进代替花括号,允许注释,且语法更简洁。