YAML / JSON 配置转换
本地处理YAML 与 JSON 双向转换,检查重复键、数据类型和数字精度。
单份转换 · 不自动保存输入
转换保留支持范围内的数据值,不保留注释、原缩进、引号写法和字段顺序。YAML 按 1.2 解析;编号、日期或高精度数字需要保持原样时,请用引号包成字符串。
输入 0 字节 / 256 KiB(UTF-8)
输入内容后点击「开始转换」。
从文件导入
文件仅在浏览器本地处理,不会上传
结果以纯文本展示,请核对后复制或下载。
转换前先确认
- 支持对象、数组、字符串、布尔值、null 和可安全表示的数字。对象键必须是字符串。
- 重复键、超大整数、精度变化、负零、NaN / Infinity 会报错,不自动舍弃或修正。
- 首版不接受多文档、锚点、别名、合并键或显式标签;请先展开为普通数据。
- 输入最多 256 KiB,输出最多 2 MiB;嵌套最多 50 层,节点最多 20,000 个。超时会终止,可修改后重试。
使用指南
工具介绍
把 YAML 配置交给只接受 JSON 的程序,或将 JSON 数据改成便于阅读的 YAML。本工具逐项检查数据类型和数字精度,支持单份粘贴或导入,并分别保留原文与转换结果。
转换在浏览器内完成,不上传配置,不自动保存正文,也不把配置写入网址或错误日志。关闭页面前请自行备份;本站页面仍可能加载统计或广告资源,本地处理不等于独立的保密环境。
使用步骤
- 选择 YAML → JSON 或 JSON → YAML,粘贴原文,或导入最大 256 KiB 的 UTF-8 文件。已有正文时,导入、示例和清空都需要确认。
- 点击「开始转换」。不支持的类型或语法会显示错误,能确定位置时提供行列和「定位错误」。原文不会自动修正。
- 核对结果中的编号、日期、布尔值和空值。预览最多显示前 20,000 个字符,复制与下载包含完整结果。
- 复制或下载 .json / .yaml 文件。修改原文或切换方向后旧结果失效,需要重新转换。
适用场景
- 将单份 YAML 服务配置转换为 JSON,交给要求 JSON 输入的接口或脚本。
- 将 JSON 对象整理为两空格缩进的 YAML,方便人工阅读、核对与后续编辑。
- 在迁移配置前找出重复键、非字符串键、超大整数等容易引起静默变化的问题。
常见问题
- YAML 版本和类型如何处理?
- 按 YAML 1.2 Core Schema 解析,只接受字符串键的对象、数组、字符串、布尔值、null 与可安全表示的数字。yes / no / on / off 和日期形文本按字符串处理;true / false 是布尔值。JSON 输入必须是标准语法,不接受注释或尾随逗号。根节点可以是数组或标量,不强制为对象。
- 为什么数字 00123 或超大整数需要加引号?
- YAML 中未加引号的 00123 会按数字 123 读取,前导零不是数字数据的一部分;编号应写成 "00123"。超出 ±9,007,199,254,740,991 的整数,以及转换后十进制数值会改变的数字会被拒绝。负零、NaN、Infinity 也不支持。请用字符串保存精确编号或高精度金额;将其改成字符串会改变数据类型,应按目标系统要求决定。
- 会保留注释和字段顺序吗?
- 不会。这里只转换数据值,注释、原缩进、引号形式、数字写法与原字段顺序不保证保留。JSON 不支持注释,YAML 导出统一采用两空格缩进。字符串内部的换行仍属于数据值,必要时会用转义或 YAML 多行写法表达。
- 支持锚点、合并键、多文档和显式标签吗?
- 首版全部拒绝,包括锚点 &name、别名 *name、未加引号的合并键 <<、多个 --- 文档以及 !!str 等显式标签。这样避免别名展开、特殊对象或覆盖规则造成意外变化。普通字符串键 "<<" 可以转换。重复对象键和非字符串键同样报错,不覆盖已有字段。
- 有哪些容量限制?
- 输入最多 256 KiB UTF-8,输出最多 2 MiB,嵌套最多 50 层(根为第 0 层),最多 20,000 个节点,对象键也计数。转换超过 10 秒会终止,超限不会提供截断文件。文件导入允许 UTF-8 BOM,无效 UTF-8 会拒绝;不自动猜测其他编码。
- 切换方向会自动用结果作为输入吗?
- 不会,原文保留,旧结果失效。需要往返核对时,先复制或下载结果,再切换方向并粘贴该结果。取消只终止当前转换,失败后修改原文即可重试;输入与结果都不会自动保存。
核对内置示例
- 加载示例后,service.port 应为数字 8080,enabled 为布尔值 true,note 为 null。
- account 应保留字符串 "00123",release 应保留日期字符串;JSON 输出不包含 YAML 示例的注释。
- 修改为 port: 8080 和第二个 port: 9090 时,应提示重复键;将 account 改为未加引号的 9007199254740993 时,应提示安全整数范围。
适合与不适合的配置
- 适合一份普通数据配置的格式互转;不会执行配置、校验业务字段或连接目标服务。
- Kubernetes 等多文档文件需逐份处理,含锚点、标签和合并键的配置需先展开;暂不支持 TOML、INI、XML、批量转换或 YAML 1.1。
结果与原稿
- 下载结果使用 UTF-8;JSON 两空格缩进,YAML 两空格缩进,末尾保留一个换行。
- 完整结果的复制与下载只在最近一次成功转换后可用;旧结果仅供对照,不可导出。
- 错误提示不回显配置值。含敏感凭据的真实配置应在可信环境处理。