这个工具做什么
把 JSON 配置转成 YAML:接口返回的数据要抄进 K8s manifest、GitHub Actions 或 docker-compose 时,手工缩进最容易出错,这里粘贴即得,缩进宽度可选,长字符串不折行。
与站内的「YAML 转 JSON」是一对:两个方向的转换使用同一套解析器,往返转换不会悄悄改变语义。转换全部在浏览器内完成,配置内容不上传。
如何使用
- 第一步:粘贴 JSON 整段 JSON 粘进输入框。如果语法有错(少个逗号、多个括号),会直接告诉你第几行第几列附近有问题,而不是给出一份错误的 YAML。
- 第二步:调缩进与排序 缩进默认 2 空格(K8s 与 GitHub Actions 的惯例),可改为 4 / 6 / 8。打开「键名排序」后所有对象的键按字母序输出,方便对比两份配置的差异。
- 第三步:复制结果 结果会随参数自动重算。长字符串(URL、密钥、正则)不会被折行,复制出去就能直接用。
限制与边界
只做格式转换,不做 JSON Schema 校验、不做注释保留——JSON 本身没有注释,所以转出的 YAML 也没有;若需要注释请转换后手工补充。超过 2^53−1 的整数会丢精度。单文件上限 10MB,超出会明确报错。
常见问题
为什么长字符串没有折行?
刻意为之。YAML 的折叠标量(>-)语义上等价,但复制时会带回换行,URL 或密钥就坏了。lineWidth 设为 -1 表示永不折行。
转换后键的顺序变了吗?
默认保留 JSON 的书写顺序。打开「键名排序」才会按字母序输出——这个选项是为了 diff 两份配置时更省眼。
转回去还是原来的 JSON 吗?
语义上等价:用站内「YAML 转 JSON」转回去,结构与数值一致。但书写顺序若开了排序会改变,数字格式(1.0 与 1)可能被规范化——语义等价,字面不完全相同。
JSON 里的注释会保留吗?
JSON 没有注释语法,所以源里也不会有;转出来的 YAML 自然不含注释。想要带注释的配置,先转 YAML 再手工补注释即可。
支持 JSON5 或带尾逗号吗?
不支持——本工具按标准 JSON 解析,尾逗号、单引号、无引号键都会报错并给出位置。先用 JSON 格式化工具把文件修成标准 JSON,再转 YAML。
数据会上传吗?
不会。转换在浏览器内完成,页面不发送包含配置内容的请求;密钥、内网地址这类内容不会离开设备。