YAML转JSON转换器
使用此在线实时转换器,轻松将YAML转换为JSON。
YAML转JSON转换器是什么
把 YAML 转成 JSON,输出固定 3 空格缩进。默认解析 merge key(<<: *锚点)后再输出,另有一个 nestify 开关可以把 a.b.c 这种点号键展开成真正的嵌套对象。结果可复制或下载成 output.json。
所有计算都在你的浏览器本地完成,输入的内容不会上传到服务器。
怎么用YAML转JSON转换器
- 需要把点号键展开成嵌套对象时,勾选上方的 nestify 开关
- 在左侧输入框粘贴 YAML,示例形如 foo: bar / list: - item
- 右侧输出框实时显示 JSON(3 空格缩进)
- YAML 不合法时输入框提示「提供的 YAML 无效」,输出为空
- 点复制按钮取走,或下载成 output.json
示例
输入
name: 站点
list:
- a
- b输出
{
"name": "站点",
"list": [
"a",
"b"
]
}不含整数时可正常输出;固定 3 空格缩进
常见问题
为什么输出框是空的?
两种可能:YAML 本身不合法(缩进错、Tab 混用、冒号后缺空格),或者里面含有整数——整数被解析成 BigInt 后 JSON 序列化会失败。先检查缩进,再试着给数字加引号。
缩进能改成 2 或 4 空格吗?
不能,输出固定 3 空格,页面没有提供选项。需要其它缩进可以把结果拿到 JSON 格式化工具里再处理。
注释和锚点会保留吗?
不会。注释在解析阶段就丢弃了;锚点会被解析成实际值(merge key 也会被展开),不会以别名形式出现在 JSON 里。
配置内容会上传吗?
不会。yaml 库在浏览器里解析,JSON.stringify 也在本地执行,文本不发送到任何服务器。
小提示
- merge key 默认生效:<<: *default 引用的锚点内容会被合并进来再输出,不用手工展开
- nestify 打开后 'a.b.c': 1 会变成 {"a":{"b":{"c":1}}};不开就原样保留带点号的键名
- 解析时整数按 BigInt 处理,而 JSON 序列化不支持 BigInt,含整数字段的 YAML 可能整个输出为空;把数字加上引号再转即可绕过