YAML ↔ JSON 互转

粘贴 YAML 或 JSON —— 工具会自动识别格式并转换为另一种。

功能特性

自动识别输入格式
双向互转
错误高亮标记

使用方法

1. 把 YAML 或 JSON 粘贴到输入框。

2. 点击「转换」,右侧将显示另一种格式。

3. 复制或下载结果。

关于这个工具

YAML 和 JSON 描述的是同样的数据类型——对象、列表、字符串、数字、布尔值和 null——但 YAML 靠缩进表达结构,更适合手写,而 JSON 更严格,更便于程序之间交换。这个转换器会识别你粘贴的是哪种格式,并转换成另一种。它能处理大多数配置文件中的 YAML:通过缩进定义的嵌套映射和序列、带引号和不带引号的标量、数字、布尔值、null、整行注释,以及内联的 [列表] 和 {对象}。把 YAML 转成 JSON 也是快速查看 YAML 实际会被如何解析的好办法。锚点、别名、多行块标量和多文档等 YAML 高级功能不受支持,这类文件请用完整的 YAML 库校验。

常见问题

YAML 是 JSON 的超集吗?
YAML 1.2 的设计让合法的 JSON 同时也是合法的 YAML,但反过来不成立:YAML 增加了注释、锚点、多行字符串和不加引号的文本,这些在 JSON 中都不允许。
为什么 “no” 或 “on” 这样的值变了意思?
旧的 YAML 1.1 解析器会把 yes、no、on、off 读成布尔值,著名的例子就是挪威的国家代码 NO 被读成了 false。给这类值加上引号("no"),在任何解析器中都会保持为字符串。
为什么 YAML 里的缩进这么重要?
缩进决定了哪些键属于哪个对象。请使用空格而不是制表符,并让同级的键对齐。多一个空格就可能把某个键移到错误的父级下面。
这里不支持哪些 YAML 功能?
锚点和别名(&、*)、使用 | 或 > 的块标量、用 --- 分隔的多文档以及自定义标签都不会被解析。使用了这些功能的 Kubernetes 清单或 CI 文件,请用 js-yaml、PyYAML 等完整解析器校验。
YAML 转 JSON 时注释会保留吗?
不会。JSON 没有注释语法,所以转换时注释会被删除。如果注释很重要,请以 YAML 文件作为原始版本保存。

相关工具