开发者工具 / 06

JSON 转 YAML 转换器

将JSON转换为易读的YAML,用于配置文件和清单文件。

JSON 转 YAML 转换器: TOEA会将文档写入为YAML,使用两个空格缩进;对可能被误读的值加引号,并让长字符串保持在同一行。 完全在浏览器中本地运行,文件不会上传到服务器。

使用次数
在浏览器中
费用
免费·无需注册
可用性
可直接使用
JSON → YAML工作台本地处理

完全在浏览器中运行

↥
在下方粘贴JSON,或选择一个文件

最大5 MB·不会上传

其他程序读取YAML时

只要YAML 1.1或1.2读取器可能将某个字符串理解为其他类型,就会为其添加引号。这包括任意大小写的yes、no、on和off,单个字母y和n,null和~,带前导零的数字(如0123),十六进制和八进制形式,以及2024-01-05或12:30等日期和时间。许多Python工具和Ansible使用的PyYAML会将on读取为true,将0123读取为八进制数83;加引号可以避免这种情况。JSON中的数字、布尔值和null不会加引号,因此其类型能够保留。

为人类整理输出

除非键是整数,键会保留其在JSON中的顺序。因此在转换前,请将读取者需要查找的字段(如name、image或version)放在每个对象的顶部。转换后可以使用#添加注释;注释在编辑时会保留,但再次转换为JSON时不会保留。全程使用两个空格缩进,YAML文件绝不能使用制表符缩进,因此修改结果时请在编辑器中保留这一设置。

许多读取YAML的工具也直接接受JSON,因为JSON是有效的YAML 1.2。转换的目的是提高可读性并支持注释,而不是兼容性。

使用方法

  1. 粘贴JSON或选择文件。
  2. 检查YAML。
  3. 复制或下载结果。

隐私与限制

文本会在你的浏览器中转换,绝不会上传;当文件是配置文件或你不想交给陌生人的导出数据时,这一点很重要。需要时会为值加引号,确保输出重新解析后与输入内容完全一致。

相关工具

常见问题

为什么有些值会加引号?

包含冒号的字符串,或会被YAML 1.1或1.2读取器识别为数字、布尔值、null或日期的字符串(yes、off、0123、2024-01-05),都会加上引号,以便重新读取时仍作为相同的字符串处理。

为什么长网址不会换行?

折行在YAML中是有效的,但在需要手动编辑的文件中容易令人困惑,因此工具会关闭折行,让长值保持在同一行。

可以保持往返转换后不变吗?

可以。通过YAML转JSON工具转换回来后,会得到原始文档;测试检查的就是这一点。

可以在输出中加入注释吗?

不可以。源JSON不包含注释,因此结果中不会有注释。

免费工具·使用在浏览器中次·无需账户