JSON转YAML转换器
把JSON转换为适用于Kubernetes、Docker Compose、Ansible和CI流水线的干净YAML。支持缩进、引号、flow样式、多行字符串和文档分隔符。
免费 在浏览器中运行 无需注册
正在加载JSON转YAML转换器…
您的文件绝不离开您的设备
如何使用JSON转YAML转换器
- 1
在此页面打开JSON转YAML转换器,它直接在浏览器中加载。
- 2
添加文件、文本或数值,并调整设置。
- 3
复制或下载结果。不会上传或存储任何内容。
关于此工具
YAML是配置文件的语言:Kubernetes清单、Docker Compose文件、GitHub Actions和GitLab CI流水线、Ansible剧本以及许多应用设置都在使用它。它承载与JSON相同的数据,但更便于人阅读和编辑。这款JSON转YAML转换器把JSON转换为干净、缩进正确的YAML,可直接粘贴到配置文件中。
如何把JSON转换为YAML
- 粘贴有效的JSON。
- 选择缩进(大多数工具的标准是2个空格)。
- 如有需要,调整引号、样式和字符串选项。
- 复制或下载YAML。
示例
{"services":{"web":{"image":"nginx:alpine","ports":["80:80"]}}}
会变成
services:
web:
image: nginx:alpine
ports:
- "80:80"
选项
- 缩进和行宽。
- 引号:自动(仅在YAML需要时添加)、始终或从不。
- block或flow样式:嵌套多行,或从指定层级开始使用类似JSON的紧凑括号。
- 多行字符串:保留换行的字面块(|),或折叠块(>)。
- Null可写为null、~或留空,布尔值可写为true/false或其他格式。
- 文档分隔符(
---)用于包含多个文档的文件,Kubernetes中很常见。
转换器帮你避开的YAML陷阱
- 看起来像其他类型的字符串:"yes"、"no"、"on"、"1.10"或"08"等值可能被某些YAML解析器识别为布尔值或数字。自动加引号可让它们保持为文本。
- 特殊字符如:、#以及开头的*或&,会在需要时加上引号。
- 制表符:YAML禁止用制表符缩进,输出只使用空格。
常见问题
YAML和JSON一样吗?
它们描述的数据类型相同,YAML 1.2甚至可以直接读取JSON。YAML用缩进代替括号和引号,更容易阅读和编辑。
YAML应该用几个空格缩进?
最常用的是两个空格,也是Kubernetes和Docker Compose的默认值。切勿使用制表符。
为什么输出中有些值带引号?
yes、no、on或08这样的值可能被识别为布尔值或数字。自动加引号能让它们保持字符串,含义不变。
可以为Kubernetes转换JSON吗?
可以。粘贴JSON清单,保持2空格缩进;如果在一个文件中合并多个资源,请开启文档分隔符。
多行字符串如何处理?
可以写成用|表示的字面块以保留换行,或用>表示的折叠块把多行合并。
我的数据会被上传吗?
不会。转换在你的浏览器中完成。
