WALUDO 工具箱
CONVERT.04 YAML TO JSON

YAML 转 JSON

在左侧输入框输入 YAML,右侧自动生成 JSON;在右侧输入 JSON,左侧自动生成 YAML

YML

YAML

JSON

JSON

§ 01

如何使用 YAML 转 JSON 工具

1
1

输入 YAML

在左侧编辑器中粘贴你的 YAML 配置内容,支持多文档(--- 分隔)和锚点引用。

2
2

查看 JSON 结果

右侧将自动显示转换后的 JSON,支持实时双向同步:修改 JSON 也会自动更新 YAML。

3
3

复制或导出

点击复制按钮获取 JSON 结果,或勾选压缩选项最小化输出体积。

§ 02

YAML 与 JSON 特性对照

YAML 特性
YAML 写法
JSON 等值
键值映射
name: WaLudo
"name": "WaLudo"
数组 / 列表
- item1 / - item2
["item1", "item2"]
嵌套对象
缩进表示层级
{ "parent": { "child": ... } }
布尔值
true / false / yes / no
true / false
空值
null / ~ / 空
null
多行字符串
| (保留换行) / > (折叠)
"string with \n"
注释
# 这是注释
不支持,会丢失
锚点引用
&alias / *alias
展开为实际值
多文档
--- 分隔
JSON 不支持,需拆分为数组
日期时间
2026-06-10
"2026-06-10" (字符串)
§ 03

使用场景

YAML 常用于 Kubernetes、Docker Compose、GitHub Actions 等配置文件,转换为 JSON 后便于程序读取和接口传输。

JSON 是 Web API 和前端应用最常见的数据交换格式,将 YAML 转为 JSON 可减少手写配置时的语法错误。

双向转换适合调试配置迁移、检查数据结构是否等价,以及快速生成可复制的示例。

§ 04

各语言 YAML 与 JSON 转换示例

语言
代码示例
JavaScript (Node.js)
const yaml = require('js-yaml');
const json = JSON.stringify(yaml.load(yamlStr), null, 2);
Python
import yaml, json
json.dumps(yaml.safe_load(yaml_str), indent=2)
Go
import "gopkg.in/yaml.v3"
yaml.Unmarshal([]byte(yamlStr), &data)
json.MarshalIndent(data, "", " " )
Rust
let value: Value = serde_yaml::from_str(yaml_str)?
serde_json::to_string_pretty(&value)
CLI (yq)
yq -o=json config.yaml > config.json
§ 05

常见问题 (FAQ)

Q1YAML 和 JSON 有什么区别?

YAML 和 JSON 都是常用的数据序列化格式。JSON 语法严格,使用花括号和双引号,广泛用于网络传输和 API 通信;YAML 使用缩进表示层级,支持注释和更丰富的数据类型(如日期、多行字符串),常用于编写配置文件(如 Docker Compose、Kubernetes、CI/CD 等)。

Q2如何在 JavaScript/Node.js 中将 YAML 转换为 JSON?

在 Node.js 中推荐使用 js-yaml 库:const yaml = require('js-yaml'); const json = JSON.stringify(yaml.load(yamlString), null, 2); 本工具站正是使用 js-yaml 在浏览器本地完成转换。Python 用户可使用 pyyaml 库,命令行用户推荐 yq 工具。各语言示例见下方代码对照表。

Q3我的数据会被上传到服务器吗?

不会。本工具站所有数据均在浏览器本地处理,YAML 解析、JSON 生成、格式美化、压缩等所有操作完全在你的设备上完成,不上传、不保存、不记录任何用户数据。

Q4YAML 转 JSON 时常见的陷阱有哪些?

YAML 有一些容易出人意料的特性:(1) NO、YES、ON、OFF 会被解析为布尔值而非字符串(挪威问题),建议用引号包裹;(2) 以零开头的数字如 01234 在 YAML 1.1 中会被当作八进制数;(3) YAML 的锚点与别名 (&anchor / *alias) 在 JSON 中会展开为实际值;(4) JSON 不支持注释,YAML 中的所有注释在转换后都会消失。

Q5如何确保转换后的 JSON 是正确的?

推荐进行往返测试:将输出的 JSON 再反向转换回 YAML,检查是否与原始输入一致。也可使用本站的 JSON 格式化工具验证 JSON 结构是否正确。对于复杂配置,建议对比转换前后数据的语义是否等价。

✳ WALUDO TOOLBOX ✳ 浏览器原生工具集 · NO SERVER · NO DATA COLLECTION

您的文件永远不会离开您的电脑 · FILES STAY LOCAL · PRIVACY FIRST