开发者工具 / 05
YAML转JSON转换器
将YAML配置转换为JSON;如果文档无法解析,会显示易读的提示。
YAML转JSON转换器: TOEA使用安全模式下的真正YAML解析器解析文档,因此会展开锚点和别名,并且无法从文件中构造任意类型。 完全在浏览器中本地运行,文件不会上传到服务器。
- 类别
- 开发者工具
- 使用次数
- 在浏览器中
- 费用
- 免费·无需注册
- 可用性
- 可直接使用
完全在浏览器中运行
最大5 MB·不会上传
哪些值会变成布尔值和数字
此转换器按照YAML严格的JSON规则读取普通值。只有小写的true、false和null会变成布尔值或null;yes、no、on、True、Null和~会保留为字符串,0755、0x1F以及2024-01-05等日期也一样。未加引号的小数会变成数字,这可能影响版本字段:python: 3.10会变成3.1。凡是必须保留为文本的内容都请加引号,例如python: "3.10"。
合并键和多文档文件
Docker Compose和GitLab CI文件经常使用<<: *defaults重复利用一个块。合并键会被应用:共享键会复制到该块中,而块本身写入的键优先级更高,因此<<: *defaults后接retries: 5时,会保留除retries之外的所有默认值。像<<: [*base, *extra]这样的列表可以合并多个块,前面的块优先级更高。锚点和别名会完整展开,因此当一个大块被多次重复使用时,JSON可能会比YAML大很多。
如果文件包含多个由---分隔的文档(Kubernetes清单经常如此),工具会拒绝处理,并提示只能包含单个文档。请分别转换每个文档。
使用方法
- 粘贴YAML或选择文件。
- 选择缩进宽度。
- 复制或下载JSON。
隐私与限制
文本会在浏览器中转换,绝不会上传;当文件是配置文件或你不愿交给陌生人的导出文件时,这一点很重要。工具只使用安全模式,因此文档不会仅因被解析就实例化类型。
相关工具
常见问题
为什么YAML需要解析器?
YAML规范内容庞杂,包括块标量、锚点、隐式类型和多个文档。仅靠模式匹配实现的子集可能会误读真实文件,而不是在遇到问题时直接报错,这反而更糟。
锚点和别名会怎样处理?
它们会被展开,因为JSON没有表达引用的方式。别名所指向的值会在每个引用位置完整显示。
为什么我的YAML解析失败了?
通常是缩进问题:YAML对空白敏感,在应使用空格的位置使用制表符是无效的。错误信息会指出对应的行。
注释会保留吗?
不会。JSON没有注释语法,因此注释会被删除。
免费工具·使用在浏览器中次·无需账户