YAML 转 JSON 转换器
使用 YAML 1.2 核心模式将 YAML 转换为 JSON,包括以 --- 分隔的多文档流。错误提示带行号,本地运行。免费。
完全在浏览器中运行,您的数据不会被上传。
相关工具
查看全部什么是 YAML 转 JSON?
粘贴 YAML——Kubernetes 清单、CI 配置、OpenAPI 文件均可——即可得到等价的 JSON。由 --- 分隔的多个文档组成的流会变成一个 JSON 数组,每个文档对应一个元素。
如何使用 YAML 转 JSON
- 将 YAML 粘贴到 YAML 输入框中,或使用加载示例或打开文件。
- 选择 JSON 的缩进。
- 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 没有注释,所以它们会被丢弃。
推荐的下一步
JSON 格式化
在线格式化并美化 JSON,支持 2 空格、4 空格或制表符缩进,可按字母排序键,语法错误会精确提示行号和列号。完全在浏览器中运行。
转义/反转义工具
一个工具搞定字符串转义与反转义:支持 JSON、JavaScript、HTML、XML、URL 组件、正则表达式、SQL 字面量、CSS 字符串和 Shell 参数。
JSON 压缩
移除 JSON 中所有无意义的空白,同时保持值、键顺序和大数字不变,并显示节省的体积。免费且在浏览器内运行。
JSON 路径查找
以 JSONPath、JavaScript 或 jq 语法列出 JSON 文档中的每个路径,点击路径即可查看其值,也可输入路径直接查询。在浏览器中运行。
JSON 对比
按结构比较两个 JSON 文档:以 JSONPath 显示新增、删除和修改的值,忽略键顺序和排版。免费,在浏览器中运行。
JSON 查询(JSONPath)
用 JSONPath 查询 JSON:支持通配符、递归下降、切片以及 [?(@.price < 10)] 这样的过滤表达式,结果随输入实时更新。不是 jq 语法。