JSON 转 YAML 转换器

将 JSON 转换为易读的 YAML,支持 2 或 4 个空格缩进、可选的键排序、多行字符串的字面块以及多文档输出。免费。

完全在浏览器中运行,您的数据不会被上传。

相关工具

查看全部

什么是 JSON 转 YAML?

将 JSON 转换为便于人阅读的 YAML。YAML 会误读的字符串(如 yes、123 或 null)会被自动加引号,多行字符串使用 | 字面块,顶层数组可以写成每项一个 YAML 文档。

如何使用 JSON 转 YAML

  1. 将 JSON 粘贴到 JSON 输入框中,或使用加载示例或打开文件。
  2. 选择缩进(2 或 4 个空格)、按键排序以及顶层数组 → 每项一个 YAML 文档。
  3. YAML 输出会随你的输入实时更新;可使用复制或下载。

示例

输入
{"name":"Ada","langs":["en","fr"],"active":true}
输出
name: Ada
langs:
  - en
  - fr
active: true

何时使用 JSON 转 YAML

适合根据 JSON 数据编写 Kubernetes、Ansible、GitHub Actions 或 Docker Compose 的配置。除非你要求排序,否则键的顺序会保留;无法生成 YAML 注释,因为 JSON 里没有注释。

JSON 转 YAML 的工作原理

JSON 被解析后由 js-yaml 输出。行永远不会被折叠,引用会被内联,并且输出器会给任何否则会被读回成其他类型的字符串加上引号。在多文档输出中,顶层数组的每个元素都写在各自的 --- 分隔符之后。

常见用例

  • 把 JSON API 响应转换为易读的 YAML 片段
  • 根据脚本生成的 JSON 创建 Kubernetes 清单
  • 根据 JSON 模板编写 CI 配置
  • 从资源数组生成多文档 YAML

常见问题

为什么有些字符串被加了引号?

“yes”“123”或“null”这样的值会被读回成布尔值、数字或 null,因此会加引号以保持为字符串。

可以让每个数组项生成一个文档吗?

可以,启用多文档选项后,每一项都会写在一行 --- 之后。

输出对 Kubernetes 有效吗?

这是标准的 YAML;只要 JSON 结构本身是有效的清单,Kubernetes 就能接受。

推荐的下一步

探索更多分类