YAML 转 JSON 转换器
这款 YAML 转 JSON 转换器会在你输入或粘贴的瞬间,把 YAML(YAML Ain't Markup Language)转成干净的 JSON(JavaScript Object Notation)。转换后的结果会即时显示在输入框旁边,并配有按类型着色的语法高亮和可交互的树形视图,帮助你看清数据结构。
它专为需要在不同格式间搬运数据的开发者而生:把 YAML 配置喂给只接受 JSON 的 API、为其他工具转换 Docker Compose、Kubernetes 或 CI/CD 文件,或者只是想用更顺手处理 JSON 的语言来查看嵌套数据。
使用方法
输入你的 YAML
在左侧面板粘贴或输入 YAML,或点击上传文件载入 .yml 或 .yaml 文件。点击示例数据即可填入一份 Docker Compose 配置示例。
即时查看 JSON
转换后的 JSON 会随你输入即时显示在右侧面板。输入有效时会显示有效状态;出现语法错误时会高亮对应行,并标出具体的行与列。
格式化输出
选择 缩进 为 2、4 或 8 个空格,或选 压缩 生成紧凑的压缩 JSON。开启键排序可让每个对象键按字母顺序排列。
复制或下载
用复制把 JSON 发送到剪贴板,或用下载将其保存为 .json 文件。如果想先查看结构,可先切换到树形视图。
功能特性
实时转换
YAML 随你输入即时转成 JSON,粘贴的数据也会立刻转换。无需点击任何按钮。
语法高亮
JSON 输出按类型着色,键、字符串、数字、布尔值、null 和括号各有不同样式。
缩进选项
输出可用 2、4 或 8 个空格便于阅读,也可选择压缩生成紧凑的压缩 JSON。
键排序
开启后让输出中每个对象键按字母顺序排列,而不改动你原始的 YAML。
可交互树形视图
在可折叠的树中查看嵌套数据,每个节点都会显示它包含多少项。
行号
输入编辑器显示行号,并在你滚动较长文档时保持同步。
错误检测
无效的 YAML 会被即时标记,出错行会高亮显示,并报出具体的行与列。
文件上传与下载
从设备载入 .yml 或 .yaml 文件,并将转换结果保存为 .json 文件。
实时状态栏
状态栏会跟踪是否有效,并一眼显示输出的行数、键数和字节大小。
深色模式与自适应
内置深色主题和自适应布局,让编辑器在任意屏幕尺寸下都用得舒适。
常见问题
如何在线把 YAML 转成 JSON?
在左侧面板粘贴或输入你的 YAML,或上传 .yml / .yaml 文件,JSON 会即时显示在右侧面板。然后选择缩进大小、按需对键排序,再复制或下载结果即可。无需安装,也无需注册。
YAML 和 JSON 有什么区别?
两者都是数据序列化格式,描述的是同一类结构:对象、数组和标量值。YAML 用缩进表示层级,设计上对人友好,适合配置文件,并支持注释。JSON 用花括号和方括号,更紧凑,是 API 和 JavaScript 的标准格式。事实上,有效的 JSON 同时也是有效的 YAML,因为 YAML 是 JSON 的超集。
YAML 转成 JSON 会丢失数据吗?
数据本身会被保留:字符串仍是字符串,数字会变成 JSON 数字,布尔值会变成 true/false,null 仍是 null。JSON 唯一无法表示的是注释,所以转换时 YAML 注释(以 # 开头的行)会被丢弃。除此之外,结构和值都会被原样保留。
支持哪些 YAML 特性?
转换由 js-yaml 库完成,完整支持 YAML 1.2:对象、数组、嵌套结构、字符串、数字、布尔值、null 值、多行字符串以及注释。注释会被剥离,因为 JSON 没有注释语法。当多个文档用 --- 分隔时,只会转换第一个文档,所以请把多文档文件拆开,分别逐一转换。
可以转换 Swagger 或 OpenAPI 的 YAML 文件吗?
可以。Swagger 和 OpenAPI 规范就是普通的 YAML,所以你可以粘贴或上传文件,得到等价的 JSON 规范。用缩进选项把它格式化得便于阅读,或用压缩生成紧凑版本,供偏好压缩 JSON 的工具使用。
键排序会改动我原始的 YAML 吗?
不会。键排序只会重新排列 JSON 输出中的键。你在输入面板里的 YAML 仍和输入时完全一致。关闭该选项即可恢复原始的键顺序。
能转换多大的文件?
因为一切都在你的浏览器中运行,实际上限取决于设备的内存。本工具可以轻松处理几兆字节大小的文件;非常大的文档可能需要稍等片刻才能转换完成。
我的数据会被保密吗?
会。所有转换都在你的浏览器本地完成。你的 YAML 和生成的 JSON 绝不会被上传到服务器,也不会被收集或存储。
还没有评论,快来发表第一条!