JSON ↔ YAML 互转
JSON ↔ YAML 互转
JSON ↔ YAML 互转支持 JSON 与 YAML 双向转换,可并排编辑并实时同步,适合 Kubernetes、Helm、CI 配置和 API 调试。
JSON 缩进
YAML 缩进
排序键
数组拆分为多文档 YAML(--- 分隔)
JSON
⇄
YAML
快速开始
常见使用场景
Kubernetes 配置编写
将 YAML 格式的 K8s 资源定义转为 JSON 查看结构,或反向操作
Helm Values 调试
将 values.yaml 转为 JSON 以便在 IDE 中检查类型和嵌套层级
CI/CD 流水线
在 GitHub Actions(YAML)和其他 CI 系统(JSON)之间快速转换配置片段
API 调试
将 JSON 格式的响应体转为 YAML 以获得更直观的层级展示
配置迁移
在 YAML 和 JSON 格式的配置文件之间批量转换
格式化 & 校验
利用双向同步快速检验 JSON 或 YAML 是否合法,错误定位到行列
使用建议
限制与兼容性
隐私与安全
常见问题
JSON(JavaScript Object Notation)和 YAML(YAML Ain't Markup Language)都是常见的数据序列化格式,能表达相同的数据结构(对象、数组、字符串、数字等),但语法风格不同: • JSON 使用花括号 {}、方括号 [] 和双引号,语法严格,所有键必须加双引号,不支持注释 • YAML 使用缩进表示层级,语法更简洁易读,支持注释(# 开头),但对空格/缩进敏感 选型建议: • API 接口、程序间通信、配置文件需要机器严格解析 → 用 JSON • Kubernetes/Helm/CI 配置、人工频繁编辑的文件 → 用 YAML • 两者可相互转换,数据层面完全等价
这是 YAML 1.1 的遗留行为——yes、no、on、off、y、n 等被自动解释为布尔值。本工具使用 YAML 1.2 规范,只有 true/false 才会被视为布尔值。如果你的 YAML 来自旧版解析器,可能已经遵循了 1.1 规则。解决方法:用引号包裹值(如 "yes")即可保留为字符串
JSON 规范(RFC 8259)不支持注释,这是设计者 Douglas Crockford 的有意决定——他认为注释会被滥用于解析指令,影响互操作性。因此 YAML→JSON 转换必然丢失注释,反向转换也无法还原。如需保留注释,建议保存一份 YAML 原始文件
--- 是 YAML 的文档分隔符,用于在一个文件中包含多个独立的 YAML 文档。这在 Kubernetes 中非常常见——一个 YAML 文件可以用 --- 分隔多个资源定义(如 Deployment + Service + ConfigMap)。本工具会将多个 YAML 文档转为一个 JSON 数组,每个文档对应数组中的一个元素;反向则可开启「多文档 YAML」选项将 JSON 数组拆分为 --- 分隔的多个文档
JavaScript 使用 IEEE 754 双精度浮点数,安全整数范围为 -(2⁵³-1) 到 2⁵³-1(即 ±9007199254740991)。超出此范围的整数在转换时会丢失精度。常见场景:雪花 ID、64 位时间戳等。解决方法:将大整数用引号包裹为字符串(如 "9007199254740992")以避免精度损失
YAML 锚点(&name)和引用(*name)是 YAML 独有的复用机制,用于避免重复定义相同内容。转为 JSON 后,所有引用会被展开为完整的内容副本,因为 JSON 没有引用机制。这意味着转换是有损的——反向转换无法还原原始的锚点结构