YAML ↔ JSON 互转

在 YAML 与 JSON 之间双向转换:把 YAML 解析为 JSON,或把 JSON 序列化为 YAML。本工具实现的是明确限定的 YAML 子集——块映射、块序列、嵌套、标量、引号字符串、注释、空数组/空对象;遇到锚点/别名、多文档、非空行内流式、折叠/字面块标量等不支持特性时会显式报错,不会静默误解析。全部在浏览器本地完成。

输入内容 等待输入
方向
缩进

YAML 缩进必须使用空格且保持一致;同一层级缩进不一致会给出明确提示。

转换结果
行数—
键数—
顶层类型—
字符数—
选择方向并输入内容,点击「开始转换」,结果将显示在这里。

YAML → JSON 使用 JSON.stringify 缩进输出;JSON → YAML 按引号规则序列化。

转换规则与不支持项
  • 块映射以 key: 开头,冒号后为值;值为空时其下一级缩进内容作为嵌套块。
  • 块序列以 - 开头;序列可与父键同级缩进,也可缩进一级。
  • 类型推断:true/false → 布尔,null/~ → 空,纯整数/浮点 → 数字,其余为字符串。
  • 不支持锚点与别名(& / *),遇到时报错。
  • 不支持多文档标记 --- / ... 与指令行 %,遇到时报错。
  • 不支持非空行内流式写法(如 [1, 2]、{a: 1}),仅支持空 [] 与 {}。
  • 不支持折叠块标量 > 与字面块标量 |,遇到时报错。
  • JSON → YAML 时,含特殊字符或形如数字/布尔的字符串会自动加引号,空值输出 null。