JSON 转 YAML
热门 🔥即时转换 JSON ↔ YAML
如何使用 JSON 转 YAML
- 1选择转换方向(JSON→YAML 或 YAML→JSON)
- 2粘贴输入内容
- 3点击转换
- 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 配置文件
支持的格式
输入格式
输出格式
将 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 针对人类可读性进行了优化——它使用缩进代替花括号,允许注释,且语法更简洁。