YAML ⇄ JSON 转换
配置互转 · 本地解析 · 即时预览
YAML 转换
就绪
ABOUT
关于 YAML ⇄ JSON 转换
在 YAML 与 JSON 之间快速互转,方便编辑 K8s manifest、CI 配置等场景。
Kubernetes、GitHub Actions、Docker Compose——YAML 是云原生时代的 lingua franca。本地互转让你在没有 kubectl / yq 环境的机器上也能快速审查 manifest 结构。
DEEP DIVE
深入了解 YAML ⇄ JSON 转换
YAML 因其人类可读性,被 Kubernetes、Docker Compose、GitHub Actions、Ansible 等广泛采用。但 JavaScript 生态原生只支持 JSON,调试 YAML 配置时常需先转为 JSON。JSONSort 在浏览器本地完成双向转换,无需安装 yq、Python PyYAML 等命令行工具。
转换过程保留层级结构:YAML 的缩进映射为 JSON 嵌套,数组与对象语义正确对应。适合快速验证 K8s manifest 结构或把 CI 配置导入 JSON 工具链进一步处理。
YAML 1.1 与 1.2 在布尔值(yes/no)解析上存在历史差异。转换后若出现意外布尔或 null,建议对照原始 YAML 缩进与引号用法;必要时在 JSON 侧手动修正后再转回 YAML。
FEATURES
核心能力
YAML → JSON
将 YAML 文本解析为 JSON 对象,支持多文档与锚点。
JSON → YAML
反向生成 YAML,方便写入 .yaml 配置文件。
即时转换
粘贴即转换,无网络延迟,修改后可立即预览。
语法提示
YAML 缩进或语法错误时给出解析失败提示。
文件导入
支持拖拽 .yaml / .yml 文件导入。
本地安全
K8s 密钥与内网配置不离开浏览器。
锚点与别名
支持 &anchor 与 *alias 的基本展开,便于处理 DRY 配置。
双向编辑循环
YAML → JSON 编辑 → JSON → YAML,适合在不熟悉 YAML 缩进时先用 JSON 改。
HOW TO USE
使用步骤
-
1
粘贴 YAML 或 JSON
-
2
选择转换方向
-
3
复制输出或导出文件
-
4
转换失败时查看错误提示,修正源文件语法后重试
-
5
结果可用格式化工具美化,或导出供下游脚本使用
WORKFLOW
典型工作流
从导入数据到导出结果的完整流程,帮助团队统一 YAML ⇄ JSON 转换 的使用方式。
导入 YAML
粘贴或拖拽 .yaml / .yml,保留原始缩进。
检查 JSON
用树视图确认 apiVersion、kind、spec 层级正确。
编辑(可选)
在 JSON 侧修改后转回 YAML,或复制 JSON 给下游工具。
导出
复制结果到 Git 仓库或配置管理系统。
USE CASES
适用场景
DevOps
将 K8s Deployment YAML 转 JSON 后用树视图检查结构。
后端开发
GitHub Actions workflow YAML 转 JSON 便于程序化处理。
全栈工程师
docker-compose.yml 转 JSON 导入 Mock 或测试框架。
技术写作
文档中 YAML 示例转 JSON 供不同读者群体参考。
云原生工程师
Helm values.yaml 转 JSON 接入内部配置管理平台。
CI 维护者
GitHub Actions workflow 转 JSON 做静态检查脚本输入。
TIPS
使用技巧
- K8s manifest 转换后用格式化工具检查,确认 apiVersion/kind 层级正确。
- YAML 对缩进敏感,粘贴时保留原始空格,不要混用 Tab 与空格。
- 复杂 YAML 锚点(& *)转换后可在 JSON 树视图验证引用是否展开正确。
- JSON → YAML 输出可直接保存为 .yaml 用于 Ansible playbook。
- 与 TOML 工具配合:不同语言生态的配置格式可在 JSONSort 间统一互转。
- 转换失败时,检查是否有未闭合的引号或冒号后缺少空格。
- K8s Secret 的 stringData 转 JSON 后注意 base64 字段仍是字符串。
- 多文档 YAML(--- 分隔)请分段转换,避免结构混杂。
- JSON 转 YAML 后检查列表项缩进,某些工具对 - 开头行敏感。
- 与 TOML 工具组合:统一转为 JSON 作为中间格式再互转。
LOCAL VS ONLINE
本地 vs 在线工具
JSONSort 坚持纯前端架构,以下对比说明为何本地化工具更适合处理开发数据。
TROUBLESHOOTING
常见误区与排查
实际使用中容易遇到的问题及建议处理方式,减少反复试错的时间。
解析失败:bad indentation
建议:统一空格缩进,禁止 Tab;检查冒号后是否有空格。
yes/no 变成 true/false
建议:YAML 1.1 特性,若需字符串请加引号 "yes"。
转回 YAML 顺序变了
建议:键序可能与 JSON 一致;功能不受影响,Git diff 可能变大。
多行字符串格式丢失
建议:| 与 > 块标量在 JSON 中变为普通字符串,转回时需人工调整。
FAQ
常见问题
支持 Kubernetes YAML 吗?
支持标准 YAML 语法。多文档用 --- 分隔的 manifest 建议逐段转换。
JSON 转 YAML 会保留键顺序吗?
会尽量保持 JSON 对象的键顺序输出到 YAML。
转换后中文会乱码吗?
不会。UTF-8 编码全程保持,中文注释与字符串正常保留。
转换会保留 YAML 注释吗?
YAML → JSON 时注释会丢失(JSON 不支持注释)。建议注释保存在源文件。
大 manifest 会卡吗?
数千行通常无问题。超大文件建议按 resource 拆分转换。
数据会上传到服务器吗?
不会。JSONSort 所有工具均在浏览器本地运行,您的输入内容不会发送到任何后端服务器。
需要注册或安装吗?
不需要。打开页面即可使用,无需账号、无需下载客户端,也支持 PWA 离线缓存。
支持多大的文件?
取决于浏览器内存,通常可流畅处理数 MB 级别的数据。超大文件建议先拆分或使用合并清理工具。