为什么需要 JSON 转 YAML
Kubernetes、Docker Compose、GitHub Actions 等更常写 YAML;接口或导出却是 JSON。YAML 用缩进表达层级,给人读更轻松。ComTools JSON 转 YAML(Tools/Json/ToYaml)在浏览器本地完成转换。
转换规则(概要)
| JSON | YAML 表现 |
|---|---|
| 对象 | key: 换行缩进子项 |
| 数组 | - item 列表 |
| 字符串 | 普通文本;含 : # 换行等会加引号 |
| 数字 / 布尔 / null | 原样输出 |
| 空对象 / 空数组 | {} / [] |
缩进为 2 空格。特殊字符字符串会用 JSON 风格引号包裹,避免被 YAML 误解析。
使用步骤
- 打开 JSON 转 YAML。
- 粘贴 JSON(建议先 校验)。
- 点击 运行,复制 YAML 到配置文件。
本地处理,不上传。
示例
输入:
{
"name": "ComTools",
"free": true,
"tools": ["json", "excel"],
"user": {
"id": 1,
"name": "admin"
}
}
输出示意:
name: ComTools
free: true
tools:
- json
- excel
user:
id: 1
name: admin
常见场景
| 场景 | 说明 |
|---|---|
| JSON 配置改 YAML 部署 | 转换后放入仓库 |
| 文档里展示更易读 | JSON → YAML 贴进 README |
| 只要 XML | JSON 转 XML |
| 从表格来 | 先 Excel/CSV → JSON 再转 YAML |
注意事项
- 必须是合法 JSON;尾逗号、注释会失败。
- YAML 对缩进敏感,粘贴到编辑器后不要混用 Tab(工具输出为空格)。
- 极复杂的多行字符串、锚点(
&/*)需人工核对。 - 布尔
true/false在部分旧 YAML 1.1 环境有大小写变体,部署前按目标运行时检查。
相关工具
- JSON 转 XML
- JSON 格式化
- JSON 压缩 — 需要单行 JSON 时
- 文本对比 — 转换前后与手写 YAML 对照
常见问题
Q:支持 YAML 转回 JSON 吗?
A:站点若提供对应工具可用;否则用本地 yq / 库。本篇工具方向是 JSON → YAML。
Q:键顺序会变吗?
A:一般按对象键的枚举顺序输出;不要依赖键序做逻辑。
Q:和在线“美化 YAML”有何区别?
A:本工具从 JSON 结构生成 YAML,不是对已有 YAML 做缩进修复。