JSON 工具

JSON 转 YAML先看清类型,再导出配置

试用包含大整数、多行文本和嵌套对象的示例,或粘贴严格 JSON;调整缩进后检查右侧结果。

JSON 转 YAML

YAML 转 JSON

JSON 输入

在当前浏览器中处理,不上传或保存输入。

YAML 结果

输出选项

类型预览

结果已过期,暂时无法导出。

把接口响应改成配置文件时,JSON 转 YAML 不只是删掉花括号。端口 8080 与字符串 "8080" 外观接近,交给应用程序后却可能走不同的校验分支。

这个在线转换器将路径和类型一起列出,便于核对数据含义。数字直接沿用输入中的原始文本,大整数不会先经过 JavaScript 浮点转换;输出前还会检查结构和字符串内容。

为什么使用 JSON 转 YAML

字符串不会悄悄变成数字

JSON 转 YAML 会为普通字符串与键添加双引号,日期样式文本、"true" 和 "007" 都保留字符串身份。类型面板统计整棵数据树,并显示路径明细,帮助你区分相似外观下的不同数据。

输入与输出两侧保持对应颜色的数据类型,旁边列出路径类型检查结果。

多行内容可以读,也可以检查

文本块模式尽量把换行显示为多行正文;转义模式把它们写成带转义符的字符串。两种方式不以折叠或删掉换行为目标,生成后会重新解析并比较实际字符串,包括末尾换行。

一个带转义换行的字符串展开成保留三行内容的文本块。

导出前值得核对的三个细节

01

认清路径指向哪里

预览采用 JSON Pointer:空路径表示根节点,键名中的斜杠写成 ~1,波浪号写成 ~0。对象和数组本身也计入节点;每次展开 50 项,最多保留前 500 项路径,不会因此截断导出文件。

02

按需要切换自动运行

默认停顿 350 毫秒后转换。关闭自动开关即可用按钮或 Ctrl/Cmd+Enter 执行。修改输入或参数后,旧结果会淡化,复制和下载立即禁用,直到新结果完成检查。

03

区分语法通过与应用可用

状态行确认的是 YAML 1.2 数据检查。接收程序仍可能舍入长数字,或要求特定配置字段。下载后应交给目标应用自己的校验器确认,而不是把格式通过当成部署通过。

结构、数值和换行分别处理

接受完整的数据树

对象转换为映射,数组转换为序列,根节点也可以是字符串、数字、布尔值或 null。空对象与空数组分别保留为 {} 和 [],不会因为没有子项就被删掉。

数字保留输入写法

大整数、科学计数法、小数末尾零和负零均从原始数字 token 输出。生成过程不先转成 JavaScript Number,转换后的检查也比较数字原文,避免校验本身掩盖精度变化。

缩进与文本样式可调

嵌套缩进可选两格或四格。多行文本使用 | 及相应的末尾换行标记;包含回车或控制字符时可能回退到双引号转义。普通字符串始终带双引号,不自动推断日期和布尔类型。

导出前重新解析

输出先由 YAML 解析器检查语法,再逐项核对映射、数组顺序、类型与字符串值。任何不一致都会阻止导出。文件使用 .yaml 扩展名,不需要用更名方式改变内容格式。

格式转换的实际边界

只接受严格输入
注释、尾随逗号、JSON5 和重复键会被拒绝,并标出输入行列。工具不自动修复,也不采用“重复键只保留最后一个”的策略,请先修正原始数据再转换。
单向、单文档
这里不提供原地 JSON 和 YAML 互转,不接受反向输入,也不把根数组拆成多个文档。不生成锚点、别名、自定义标签或注释;没有文件、网址和批量导入入口。
有明确的处理预算
输入最多 500,000 字符、50,000 个节点,深度最多 100 层;输出最多 2,000,000 字符。超限会停止,不导出部分结果。类型路径仅保存前 500 项,统计数量仍覆盖全部节点。
不验证应用配置
语法和数据结构检查不会验证 Kubernetes、Docker Compose 或 OpenAPI 字段,也不判断某个集群版本能否接受配置。旧版 YAML 1.1 读取器的行为需要另行测试。
不恢复原来的排版
保留键的输入顺序,包括看起来像数字的键名;空白和转义写法会重建。不排序键、不清理空值、不恢复原本不存在的注释,也不保证目标程序的大数处理精度。

JSON 转 YAML 常见问题

JSON 无效时会怎样?

转换会停止,错误保留在面板中并标出行列,复制和下载不可用。工具不会猜测缺失符号,也不会静默接受重复键;修正原始输入后可以继续。

注释或键的顺序会保留吗?

键按输入顺序保留,数组顺序也不变。严格 JSON 不包含注释,因此无法从输入中恢复注释;带注释的内容会被当成语法错误。

为什么有些字符串会加引号,有些却不加?

本 JSON 转 YAML 工具固定给普通字符串和键加双引号,避免 "true" 或日期文本被当成其他类型。多行字符串在适合时采用文本块,它仍然属于字符串。

转换的文件大小有限制吗?

限制按字符、节点、深度和输出长度计算,而不是文件大小:分别为 500,000、50,000、100 层和 2,000,000。超限不导出截断文件;大文档可拆成独立配置后处理。

转换器支持 YAML 锚点吗?

不会生成锚点和别名。JSON 没有共享引用语法,重复的对象内容会各自输出;若配置需要手写引用,应在导出后使用 YAML 编辑工具处理并重新验证。

发现了这个转换器处理不好的边界情况?

把配置交给下一步

使用 JSON 转 YAML 对照示例中的端口数字与端口字符串,选择适合阅读的多行样式,再下载通过检查的配置。