YAML 转 JSON

在 YAML 与 JSON 之间双向转换,缩进可配置。支持嵌套映射、列表与多行字符串,语法出错时会指出具体位置。

🌍 全球访问 🔒 隐私优先 ⚡ 即时转换 💯 无限使用
Advertisement

把 YAML 转成 JSON,或把 JSON 转成 YAML,缩进可以配置。嵌套映射、列表、带引号的字符串、多行块标量和锚点都能处理,语法出错时会指出造成问题的位置,而不是悄悄失败。

这是两种格式之间日常的桥梁:用 YAML 写的 Kubernetes 或 CI 配置文件需要变成 JSON 才能用于 API 调用,或者 JSON 载荷必须手工修改,而在 YAML 里改起来容易得多。转换在你的浏览器里完成,所以含有令牌或内部主机名的配置文件永远不会离开你的设备。

如何在 YAML 与 JSON 之间转换

1

粘贴 YAML 或 JSON

2

选择转换方向与缩进

3

复制转换后的输出

常见问题

支持哪个方向?

两个方向都支持:YAML 转 JSON 和 JSON 转 YAML。JSON 是 YAML 的子集,所以合法的 JSON 总能干净地转换;而 YAML 用到的一些特性 JSON 并没有,转换时它们会被展开。

我 YAML 里的注释会怎样?

注释不属于数据模型,所以转成 JSON 时会被丢掉。如果注释很重要,请把原始文件当作唯一可信来源保留下来。

多行字符串会保留吗?

会,块标量和字面量字符串在 JSON 里会变成普通字符串,换行以转义过的换行符形式保留。

为什么我的 YAML 解析失败?

常见原因是缩进不一致、用制表符代替空格,或者值里出现了没有加引号的冒号。错误信息会指出解析停止所在的行与列。

它处理得了很大的配置文件吗?

可以,几 MB 的文件都能瞬间转换。实际限制是你的设备内存,而且一切都只在本地处理。

我的配置会被上传吗?

不会。这一点很重要,因为配置文件里往往含有凭证、令牌和内部主机名。

Advertisement

一览

输入文本
多个文件否
运行位置在你的浏览器中——文件永远不会被上传
离线可用是 — 页面加载完成后
价格免费,无需注册,无水印

选择数据格式

JSON 是 API 返回以及程序读取的任何数据的默认格式:它天然处理嵌套结构、数字、布尔值和 null,而且每种语言都能解析它。CSV 更小,能直接打开进表格软件,但它无法表达嵌套,在分隔符、引号规则和字符集上也没有共同标准——而这正是转换出错的地方。XML 冗长,但能承载属性、混合内容和模式,所以它仍然主导着文档格式和遗留系统集成。YAML 对配置来说最易读,但它对空白敏感,还有出人意料的类型强制转换(「no」会变成 false,像 1.10 这样的版本号会变成 1.1)。请选择使用方工具偏好的格式,而不是看起来最漂亮的格式。

转换在哪里悄悄出错

大多数转换缺陷与语法无关,而与含义有关。一列邮编的 CSV 字段会在表格软件猜它是数字的那一刻丢掉前导零;一个很长的 ID 会超出浮点精度;日期会因为先写日还是先写月而意思大变。JSON 的键是无序的,但数组是有序的,排序键的工具不会改变任何东西,而排序数组的工具会改变数据。Unicode 是另一个陷阱:文本可能以 UTF-8、UTF-16 或带字节顺序标记的形式到来,解码器猜错就会把带重音的字符变成乱码。在信任任何转换之前,抽查第一行和最后一行、任何带前导零的字段,以及任何含有引号、逗号或换行的字段。