JSON 转 YAML

本地处理
app.yaml.view

也可通过 #data={"name":"Ada"}#url=... 灌入数据,读完即从地址栏清除。

JSON 适合接口,YAML 更常见于 Kubernetes、CI 和本地配置。本页在浏览器里做双向转换,避免把整份清单传到在线转换站。方向可切换:JSON → YAML 便于阅读编辑,YAML → JSON 便于程序消费。

双向

左边贴 JSON 得到 YAML,也可以贴 YAML 得到 JSON。转换后请抽查缩进和类型(例如 YAML 里的 on / off 可能被当成布尔)。

复杂锚点、多文档等高级 YAML 特性当前支持有限。

给配置用

Deployment、docker-compose 一类文件改完再转回 JSON 校验。接口 mock 用 JSON,部署清单用 YAML,中间用本页衔接。

转换完成后建议在目标环境做一次冒烟,确认行为与手写文件一致。

注释

转到 JSON 时 YAML 注释无法保留,这是格式本身的限制。重要说明请写在仓库文档里。

从 JSON 转到 YAML 也不会凭空长出注释。

示例

JSON
{
  "apiVersion": "apps/v1",
  "kind": "Deployment",
  "metadata": { "name": "json-toolbox" }
}
YAML
apiVersion: apps/v1
kind: Deployment
metadata:
  name: json-toolbox
缩进错了会怎样?

YAML 对缩进敏感,解析失败时请先检查空格。转成 JSON 后再格式化,往往更容易看出结构。

和 JSON5 怎么选?

要注释且仍接近 JSON 语法,用 JSON5;要给 K8s / Ansible 用,用 YAML。

需要点「执行转换」吗?

需要。本页不像格式化那样输入即处理,改完方向或内容后请再点一次转换。

键顺序会变吗?

可能和手写 YAML 不完全一致,但不影响语义。对顺序敏感的流程请自行核对。

推荐工作流

  1. 选好方向:JSON → YAML 或 YAML → JSON。
  2. 粘贴源文件,点「执行转换」,必要时下载结果。
  3. YAML 侧检查缩进;JSON 侧再用校验页确认。
  4. 在 K8s / CI 里跑一次,确认与转换前行为一致。

转换前保留原文件备份。锚点、merge key 等复杂 YAML 请用专用工具或手工处理。