ZeroTool Workbench

YAML JSON 转换器

即时进行 YAML 与 JSON 格式互转。支持嵌套对象、数组、多行字符串。免费在线工具,纯浏览器端运行。

100% 浏览器端运行 数据不离开你的设备 免费 · 无需注册

使用方法

  1. YAML → JSON:将 YAML 数据粘贴到左侧面板,点击 YAML → JSON 按钮。
  2. JSON → YAML:将 JSON 数据粘贴到右侧面板,点击 JSON → YAML 按钮。
  3. 可使用 Ctrl+Enter(Mac 上为 Cmd+Enter)快捷键直接转换当前面板的内容。
  4. 点击面板上的 Copy 按钮,将结果复制到剪贴板。

转换示例

简单对象

输入 YAML:

name: Alice
age: 30
active: true

输出 JSON 包含 name、age 和 active 字段。

嵌套结构与数组

输入 YAML:

server:
  host: localhost
  port: 8080
  features:
    - auth
    - logging
    - cache

输出 JSON 包含嵌套的 server 对象,含 features 数组。

往返转换

将 JSON 输出粘贴回右侧面板,点击 JSON → YAML 即可往返转换数据。注意,YAML 注释和格式偏好在往返转换中不会保留。

YAML 与 JSON 对比

YAML(YAML Ain’t Markup Language)是一种人类友好的数据序列化格式,广泛用于配置文件(Docker Compose、Kubernetes、Ansible、GitHub Actions)。 JSON(JavaScript Object Notation)是 API 和 Web 服务中最常用的数据交换格式。 两者可以表示相同的数据结构——本工具在两者之间转换,注释、锚点和部分标量值会在转换中改变,见下文「类型会变的值」。

类型会变的值

本工具使用 js-yaml 4.1,遵循 YAML 1.2 core schema,并支持时间戳。下列输入的转换结果如下:

YAMLJSON说明
country: NO"NO"字符串。PyYAML 等 YAML 1.1 解析器会读成 false
enabled: yes"yes"同上;布尔值请写 true
version: 1.101.1按数字解析;版本号请加引号
mode: 0755755YAML 1.2 里前导 0 不表示八进制;请写 0o755
zip: 012341234前导 0 丢失;这类编码请加引号
date: 2026-09-29"2026-09-29T00:00:00.000Z"日期变成完整的 UTC 时间戳
empty:null没有值的键是 null

限制

  • 一次只转换一个文档。 含 --- 分隔的输入会报错 expected a single document in the stream, but found more。
  • 重复的键会报错(duplicated mapping key),不会静默覆盖。
  • 注释和锚点不保留。 锚点和 << 合并键会展开成普通的副本。
  • JSON → YAML 时会给有歧义的字符串加引号,例如 '1.10'、'yes'、'NO',再读回来仍是字符串。

FAQ

支持哪些 YAML 特性?

支持所有标准 YAML 1.2 特性,包括嵌套对象、数组、多行字符串(字面量和折叠式)、锚点、别名以及所有标量类型(字符串、数字、布尔值、null、日期)。

可以转换多文档 YAML 吗?

本工具转换单个 YAML 文档。如果输入包含由 --- 分隔的多个文档,仅转换第一个文档。

YAML 数据类型如何映射到 JSON?

YAML 字符串映射为 JSON 字符串,数字保持不变,布尔值映射为 true/false,null 映射为 null,日期映射为 ISO 字符串,序列/映射映射为数组/对象。

数据会发送到服务器吗?

不会。所有转换完全在浏览器中通过 JavaScript 运行,数据不会离开您的设备。