去掉大括号,让配置更易读

JSONYAML

JSON 转 YAML 转换器

把严格的 JSON 转换成更适合审阅、编辑和配置文件使用的 YAML。

$json-to-yaml浏览器会话
01
JSON 输入6 行 · 134 B
02
YAML 输出等待生成
# 等待生成
完全私密浏览器本地转换快速轻量无需服务器往返灵活输出缩进与行宽可选开发者友好严格 JSON 输入
使用场景 / 01

YAML 更适合作为人工维护的配置

JSON 擅长机器交换;当配置需要多人阅读和修改时,YAML 往往更清晰。

转换说明 / 02

从大括号改成缩进时会发生什么

01

JSON 必须先通过验证

注释、尾随逗号、undefined 和 JavaScript 对象字面量会被拒绝,不会被静默修复。

02

输出格式可以选择

两种缩进和常用行宽覆盖大多数 YAML 风格需求,又不会把工具变成复杂 IDE。

03

有些信息无法凭空恢复

JSON 不包含注释、锚点、自定义标签或原始 YAML 排版,转换器无法重新生成这些信息。

类型映射 / 03

从 JSON 值到易读 YAML

JSON 的数据类型精简而明确。YAML 可以用更少的标点表示相同的对象、数组、字符串、数字、布尔值和 null。

01
"name": "Ada"name: Ada

转换结果安全的字符串可以省略引号;可能产生歧义时,序列化器会自动添加引号。

02
"enabled": trueenabled: true

转换结果JSON 布尔值会继续使用小写 true 或 false。

03
"count": 42count: 42

转换结果JSON 数字保持数字类型,但已经经过 JavaScript 数值解析。

04
"items": ["a", "b"]items → - a / - b

转换结果数组会转换为 YAML 序列,并保持元素顺序。

05
"value": nullvalue: null

转换结果JSON null 会明确写成 YAML null,避免与缺少键混淆。

06
"meta": {"id": 7}meta → id: 7

转换结果对象会转换为 YAML 映射,通常保持属性插入顺序。

往返转换 / 04

易读的输出仍然需要检查

生成的 YAML 表示解析后的 JSON 值,而不是逐字复制原始文本。在将文件提交为配置前,需要了解这些边界。

无法自动生成注释

JSON 本身没有注释标记,因此转换器无法可靠推断 YAML 说明。需要时请在转换后人工补充。

重复键在解析后已经消失

解析后的 JSON 对象不能同时保留两个同名属性。依赖转换结果前应先验证原始输入。

超大数字可能损失精度

JSON 数字按照 JavaScript 数值行为解析。标识符和高精度整数应在源数据中使用字符串。

往返转换会改变排版

支持的数据值通常可以保留,但引号、空格、换行宽度和注释不会恢复成原始形式。

常见问题 / 05

生成 YAML 文件前需要了解的事

JSON 会发送到服务器吗?+

不会。JSON 解析和 YAML 生成都在浏览器中完成,本地文件通过 File API 读取。

YAML 会保留 JSON 的数据类型吗?+

字符串、数字、布尔值、null、数组和对象都会在 YAML 中表示;读取方仍可能应用自己的 YAML schema。

可以选择缩进吗?+

可以。转换器支持两个或四个空格,并提供多种换行宽度。

为什么输出中的键顺序没有改变?+

JavaScript 通常保留 JSON 的插入顺序,本工具不会按字母重新排序键。

转换器会添加 YAML 注释或锚点吗?+

不会。JSON 中没有注释、锚点、别名或自定义标签,转换器无法推断这些信息。

JSON 转 YAML 可以完全还原吗?+

支持的数据值通常可以再次转换回来,但引号、空格、换行方式和注释无法恢复成原始格式。