YAML ↔ JSON 转换

数据转换 完全免费 🔄 双向转换 🕘 历史记录 📥 离线可用 🌙 支持黑夜模式

写 K8s / CI 配置用 YAML,传给接口又要 JSON。双向互转一键完成:YAML 转 JSON 自动美化高亮,JSON 转 YAML 输出多行块语法,基于 symfony/yaml 严格解析。

类别程序员 · 数据格式
运行方式服务端解析(symfony/yaml)
支持语法注释 / 锚点 / 多文档 / 块语法
数据存储本地保存(localStorage)

📄 YAML ↔ JSON 转换

YAML → JSON
粘贴内容后点击转换方向

🕘 转换历史

本地保存最近 20 条,点击恢复

核心特性

YAML → JSON 美化输出
JSON → YAML(多行块语法)
symfony/yaml 严格解析
语法错误精确提示
JSON 结果语法高亮
转换历史本地保存
支持黑夜模式与离线使用

为什么需要 YAML 与 JSON 互转?

YAML 以缩进表达层级、允许写注释,写给人看非常舒服,因此被 Kubernetes、Docker Compose、GitHub Actions、CI/CD 流水线广泛采用。JSON 则结构紧凑、解析严格,是接口与程序间交换数据的标准。两者描述的数据结构其实是同一套,只是书写风格不同。

实际工作中经常需要来回转换:把线上的 YAML 配置转成 JSON 喂给调试接口,或把接口返回的 JSON 整理成 YAML 写进配置文件。手改极易因缩进出错,用工具转换既快又稳。

本工具基于成熟的 symfony/yaml 解析引擎,支持注释、锚点、多文档与块语法,并对缩进错误给出明确的行号提示。转换在服务端完成、结果即时返回,不做持久化存储;输入内容保存在你浏览器本地便于复用。

怎么用

  1. 粘贴内容
    把 YAML(含注释也可)或 JSON 贴进输入框,或点「🎲 示例」加载一段配置。
  2. 选择方向
    点「YAML → JSON」得到美化并高亮的 JSON;点「JSON → YAML」得到多行块语法的 YAML。
  3. 处理报错
    若提示语法错误,状态条会给出原因与位置,按提示修正缩进或引号即可。
  4. 复制与复用
    点「📋 复制」取走结果;转换过的内容存入「🕘 转换历史」,点击即可恢复。

使用技巧

  • YAML 严格依赖缩进,混用空格与 Tab 会直接报错,统一用空格最稳妥。
  • 冒号后必须有一个空格,写成 key:value 会被当成一个整体字符串。
  • YAML 里的注释在转成 JSON 后会丢失——JSON 标准不支持注释。
  • 数字型字符串(如 007)建议加引号,避免被解析成数字。
  • 含特殊字符的值建议整体加引号,如 "true"、"123"。

更新记录

  • v1.0 2026-08-31 首次上线:YAML ↔ JSON 双向转换、严格解析与错误提示、JSON 高亮、转换历史。

常见问题

YAML 转 JSON 会丢失什么信息?
主要会丢失注释,因为 JSON 标准不支持注释。此外 YAML 自带的一些类型标注(如时间戳、自定义标签)会按解析结果转成对应的 JSON 值,语义不变但写法会有差异。
为什么要用服务端解析?
YAML 语法比 JSON 复杂得多(缩进、锚点、多文档),成熟解析器能做到严格且准确。本工具使用 symfony/yaml 在服务器端解析,结果可靠、错误提示清晰。
转换内容会被保存吗?
转换结果即时返回,不做持久化存储;输入内容只保存在你浏览器本地(localStorage)用于历史复用,点击「🗑 清空历史」即可删除。
提示缩进错误怎么办?
YAML 对缩进极其敏感:同一层级必须缩进一致,且不能混用空格与 Tab。请把文件统一为空格缩进,并检查报错行附近的层级是否对齐。
支持多文档(---)吗?
支持。YAML 的多文档语法可以被正确解析;转成 JSON 时若存在多个文档,结果会相应组织,具体以输出为准。
JSON 里的中文会变成什么样?
中文字符会原样保留,按钮输出的 JSON 是标准 UTF-8,不会强制转成 Unicode 转义,可读性更好。

💬 留言板 0

全部留言需审核通过后展示
💬

还没有留言,来抢沙发吧!

✍️ 说点什么
0 / 500
图形验证码