YAML 转 JSON 工具
粘贴 YAML,即可得到格式化的 JSON,可直接用于 API、JavaScript 代码或 JSON Schema 校验。
JSON
将 YAML 配置文件转换为 JSON
YAML 写起来很方便,但很多工具只接受 JSON:REST API、JavaScript 代码、JSON Schema 校验器和 jq 都需要 JSON。本工具解析你的 YAML,并以两个空格缩进的 JSON 输出。锚点和别名会展开为完整副本,注释会被删除,未加引号的值按照 YAML 的定义确定类型:数字成为数字,true 和 false 成为布尔值,~ 和 null 成为 null,日期成为 ISO 8601 字符串。如果 YAML 存在缩进或语法错误,错误信息会指出对应的行和列。
使用方法
- 粘贴你的 YAML,例如 docker-compose.yml 或 GitHub Actions 工作流。
- 在输出编辑器中查看格式化后的 JSON,或根据错误信息修正报告的那一行。
- 复制 JSON,或点击“交换”将其转回 YAML。
常见问题
- YAML 的锚点和别名会怎样处理?
- 它们会被解析。每个别名(*name)都会被替换为所引用锚点值的完整副本,因为 JSON 无法引用文档中的其他部分。
- 为什么我的值 yes 仍然是字符串?
- 解析器遵循 YAML 1.2 规范,其中只有 true 和 false 是布尔值。yes、no、on 和 off 会保留为字符串;如果需要布尔值,请写成 true 或 false。
- 可以转换用 --- 分隔的多文档文件吗?
- 每次只能转换一个文档。请分别粘贴每个文档,或先将它们合并为一个 YAML 列表。
示例:YAML 转 JSON
YAML 输入
name: deploy
on:
push:
branches: [main]
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- run: npm test
JSON 输出
{
"name": "deploy",
"on": {
"push": {
"branches": [
"main"
]
}
},
"jobs": {
"build": {
"runs-on": "ubuntu-latest",
"steps": [
{
"uses": "actions/checkout@v4"
},
{
"run": "npm test"
}
]
}
}
}