YAML 与 JSON 互转教程:配置文件格式转换,顺便检查缩进和语法错误
一句话答案
打开 YAML JSON 互转,方向选“YAML → JSON”,粘贴 YAML,结果自动生成格式化的 JSON,语法有误会提示;反向选“JSON → YAML”。版本号、邮编等要保持原样的值请加引号。
YAML 用缩进表示层级,适合人写配置;JSON 用括号和引号,适合程序读写。两者能表达的数据结构基本一致,经常需要互相转换。YAML JSON 互转 在转换的同时校验语法,在浏览器本地完成。
操作步骤
- 选择方向:打开 YAML JSON 互转,“方向”选“YAML → JSON”或“JSON → YAML”。
- 粘贴内容:把配置文件内容粘贴到输入框。
- 查看结果:转换结果实时显示;语法错误会提示出错的位置。
- 复制使用:复制结果,保存为 .json 或 .yaml 文件。

🔀 YAML JSON 互转
免费在线使用,文件和数据只在你的浏览器本地处理,无需注册。
对照:同一份配置的两种写法
server:
port: 8080
host: example.local
features:
- search
- export
debug: false
version: "1.10"
{
"server": { "port": 8080, "host": "example.local" },
"features": ["search", "export"],
"debug": false,
"version": "1.10"
}
YAML 的缩进对应 JSON 的嵌套对象,“- ”开头的列表对应 JSON 数组。
容易踩的坑
- 缩进只能用空格:YAML 不允许用 Tab 缩进,同一层级的缩进必须对齐;
- 版本号会变成数字:不加引号的 version: 1.10 会被解析为数字(JSON 输出的值是 1.10 而不是字符串),程序按数字读取时就变成 1.1,所以版本号、邮编、手机号等要写成 "1.10"、"010";
- 冒号后要有空格:key:value 不会被识别为键值对,要写成 key: value;
- 多文档只转第一个:用 --- 分隔的多个文档,工具目前只转换第一个。
JSON 内容需要美化或校验,见 JSON 格式化。
常见问题
YAML 转 JSON 会丢失注释吗?
会。JSON 不支持注释,YAML 中的 # 注释在转换后不会保留。
为什么转换时提示语法错误?
最常见的原因是缩进不一致、用了 Tab 缩进,或者冒号后面缺少空格。
支持多文档 YAML 吗?
目前只转换第一个文档(第一个 --- 分隔之前或之间的内容)。
配置内容会上传吗?
不会。转换在浏览器本地完成,适合处理含内部地址的配置。