使用步骤
- 在左侧粘贴 JSON,或点击「载入示例」。
- 选择 2 或 4 个空格缩进,YAML 会实时生成。
- JSON 格式有误时,会提示出错所在的行。
- 复制或下载 YAML;点击「反向转换」可以把 YAML 转回 JSON。
参数说明
- 缩进
- Kubernetes、Compose、GitHub Actions 约定使用 2 个空格,也有团队使用 4 个。
- 引号
- 只在必要时加引号,比如包含「: 」、以特殊字符开头,或者不加引号会被当成数字、布尔值、null 的字符串(如 "yes"、"on"、"1.0")。
- 长字符串
- 不自动折行,网址、证书等长值保持在一行,方便 diff。
示例
JSON:
{"apiVersion":"v1","kind":"Service","metadata":{"name":"web"},"spec":{"ports":[{"port":80,"targetPort":8080}]}}
YAML:
apiVersion: v1
kind: Service
metadata:
name: web
spec:
ports:
- port: 80
targetPort: 8080
常见问题
YAML 是 JSON 的超集吗?
从 YAML 1.2 开始,几乎所有 JSON 文档本身就是合法的 YAML。转换成块状 YAML 后结构更易读、易改,还能写注释,而 JSON 不支持注释。
为什么输出里有些字符串带了引号?
不加引号 YAML 会改变它们的含义:on、yes、no 在 YAML 1.1 解析器里是布尔值,1e3 是数字,包含「: 」的值会被当成新的键值对。加引号能保证它仍然是字符串。
会保留键的顺序吗?
会,输出中键的顺序与输入的 JSON 完全一致。
数据会上传吗?
不会。解析和转换都在浏览器中完成,包含主机名、令牌、账号密码的配置也不会外泄。
隐私说明
本工具完全在浏览器中运行,文件和文本都在你的设备上处理,不会上传到我们的服务器。