JSON 至 YAML
粘贴 JSON,即可得到整洁的 YAML,采用标准双空格缩进,仅在必要时为字符串加引号,多行值以块标量形式呈现,并可选按字母顺序排序键。适用于将 API 响应转换为 Kubernetes 清单、GitHub Actions 配置或任何以 YAML 为原生格式的工具。
如何将 JSON 转换为 YAML
-
1
粘贴 JSON
任何有效的 JSON 均可使用。转换器能精确保留其语义结构。
-
2
选择缩进和样式
可设置为2或4个空格;紧凑数组/对象采用流动式布局,长文本则采用块状布局。
-
3
可选:排序键
按字母顺序排序可使 YAML 在两个版本间更便于对比。
-
4
复制 YAML
粘贴至您的`.yaml`/`.yml`文件中。输出结果符合 YAML 1.2标准。
示例
输入:
{
"name": "hyperion",
"replicas": 3,
"env": { "DEBUG": "false", "LOG_LEVEL": "info" },
"command": ["php", "artisan", "queue:work"]
}
输出:
name: hyperion
replicas: 3
env:
DEBUG: "false"
LOG_LEVEL: info
command:
- php
- artisan
- queue:work
类型映射
| JSON | YAML |
|---|---|
| 字符串 | 根据需要使用无引号、带引号或块标量形式 |
| 整数 | 42 |
| 数字 | 3.14 |
| 布尔值 | true / false |
| null | null(或 ~,或为空值) |
| 数组 | 包含 - 或流程 [...] 的块序列 |
| 对象 | 使用 key: value 进行块映射,或使用 {...} 流式处理 |
当字符串需要引号时
YAML 会自动将某些字符串识别为非字符串类型。此类值需用引号括起来:
| 值 | 为何需要加引号 |
|---|---|
yes、no、on、off |
被解释为布尔值(兼容 YAML 1.1) |
null、Null、NULL |
被解释为 null |
1.23 |
被解释为数字 |
2026-04-18 |
被解释为日期 |
| 前置/后置空格 | 将被移除 |
以 *、&、! 开头 |
YAML 指令 |
转换器会自动为这些内容添加引号,其余内容则保持不加引号以提高可读性。
YAML 与 JSON 的设计差异
- 备注: YAML 提供该功能(
#), JSON 则不提供。 - 锚点/别名: YAML 支持交叉引用(
&anchor/*alias); JSON 会重复显示这些数据。系统无法自动推断这些信息,如需使用请手动添加。 - 多行字符串: YAML 支持块标量(
|保留换行符,>则将其折叠)。转换器可利用这些特性处理长字符串。 - 空值表示方式: YAML 支持
null、~或空值。转换器默认输出null。
常见错误
- YAML 1.1 的“挪威问题”:在 YAML 1.1 中,未加引号的
NO会被当作布尔值false。大多数现代解析器采用 YAML 1.2 标准,其中仅true/false为布尔值,但部分旧版工具仍会出现此问题。 - 值中的尾随空格: YAML 在块标量中保留空格,而在普通标量中将其去除。若不确定空格的具体形式,此行为可能令人意外。
- 制表位缩进。 YAML 禁止使用制表位缩进,必须始终使用空格。
- 极长的单行字符串。 为提高可读性,将其拆分为块标量;当长度超过可配置阈值时,转换器会自动执行此操作。
常见问题
与其他 YAML 类型(布尔值、数字、日期、null)相似的字符串需用引号标注才能保持其字符串格式;包含特殊字符(如前导空格或不可打印字符)的字符串同样需要加引号。转换器会自动识别并处理这些情况。
默认设置为 YAML 1.2。若需支持 YAML 1.1兼容性(适用于旧版工具及部分持续集成系统),请启用“ YAML 1.1兼容性”选项,转换器将为在 YAML 1.1版本中属于布尔值的数值添加额外引号(yes、no、on、off)。
是的。流式格式([1, 2, 3] 和 { a: 1 })适用于紧凑型数组和对象。大多数配置文件为提高可读性更倾向于使用块式格式。
是的,但需注意一点:K8s YAML 通常依赖 JSON 无法直接表达的注释和锚点。请先转换数据结构,再手动添加注释或锚点。
相关工具
ASCII 表参考
完整 ASCII 表,覆盖 0 到 127;列出每个代码的十进制、十六进制、八进制、二进制值和 HTML 数字字符引用写法,包括 NUL、LF、DEL。
HTML 字符参考
可搜索的 HTML 实体列表,含命名代码与数值代码,并支持一键复制特殊字符和符号。
键盘快捷键参考
搜索 macOS、Windows 和 Linux 上 VS Code、Chrome 以及使用 GNU Readline 的 Bash 的文档默认快捷键。
邮箱验证器
验证邮箱地址:RFC 5322 语法检查、实时 MX 记录查询,并显示本地部分、域名和长度详情。不会发送任何邮件。
编辑器配置生成器
根据你的缩进样式与大小、行尾、字符集和空格规则生成 .editorconfig 文件,让不同集成开发环境(IDE)和编辑器的格式保持一致。
证书解码器
粘贴一张 X.509 PEM 证书,并查看解码后的字段:主体、颁发者、序列号、签名算法、有效期及主体备用名称(SAN)。
此工具还提供其他语言版本
- JSON till YAML [SV]
- JSON vers YAML [FR]
- JSON naar YAML [NL]
- JSON เป็น YAML [TH]
- Chuyển đổi JSON sang YAML [VI]
- من JSON إلى YAML [AR]
- JSON ke YAML [ID]
- JSON a YAML [ES]
- JSONからYAMLへ [JA]
- JSON → YAML [KO]
- JSON zu YAML [DE]
- JSON do YAML [PL]
- JSON para YAML [PT]
- JSON в YAML [RU]
- JSON'ten YAML'a [TR]
- JSON to YAML [EN]
- JSON a YAML [IT]