YAML 转 JSON 转换器

使用 YAML 1.2 核心模式将 YAML 转换为 JSON,包括以 --- 分隔的多文档流。错误提示带行号,本地运行。免费。

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

相关工具

查看全部

什么是 YAML 转 JSON?

粘贴 YAML——Kubernetes 清单、CI 配置、OpenAPI 文件均可——即可得到等价的 JSON。由 --- 分隔的多个文档组成的流会变成一个 JSON 数组,每个文档对应一个元素。

如何使用 YAML 转 JSON

  1. 将 YAML 粘贴到 YAML 输入框中,或使用加载示例或打开文件。
  2. 选择 JSON 的缩进。
  3. JSON 输出会随你的输入实时更新;可使用复制或下载。

示例

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

何时使用 YAML 转 JSON

适合把 YAML 提供给只支持 JSON 的工具、调试缩进问题或比较配置。锚点和别名会被展开,注释会丢失,因为 JSON 中没有对应的概念。

YAML 转 JSON 的工作原理

输入由 js-yaml 使用 YAML 1.2 核心模式解析:true/false、数字和 null/~ 会得到 JSON 类型,而 yes、on 或不带引号的日期等 YAML 1.1 的怪癖则保持为字符串。流中的所有文档都会被加载;单个文档按原样输出,多个文档则输出为数组。语法错误会带上解析器给出的行号。

常见用例

  • 把 Kubernetes 或 Docker Compose 文件转换为 JSON
  • 把 OpenAPI 的 YAML 规范转换为 JSON
  • 通过查看解析后的结构来调试 GitHub Actions 工作流
  • 把多文档 YAML 流拆分为 JSON 数组

常见问题

为什么“yes”没有被转换为 true?

YAML 1.2(核心模式)只把 true/false 视为布尔值。较旧的 YAML 1.1 解析器还接受 yes/no/on/off。

遇到多个文档会怎样?

每个由 --- 分隔的文档会成为 JSON 数组的一个元素,文档数量会显示在输出上方。

注释会保留吗?

不会——JSON 没有注释,所以它们会被丢弃。

推荐的下一步

探索更多分类