JSON 压缩

JSON 压缩工具(JSON Minify / 最小化),移除 JSON 里多余的空白、缩进和换行,输出单行文本,常见的格式化 JSON 通常能减小 15%–40% 体积,适合接口传输、写入生产配置或放进单行环境变量。压缩只改空白,不改动数据,键值、类型、顺序都保留;可以配合「key 排序」得到稳定输出。计算在浏览器本地的 Web Worker 中完成,数据不上传,10MB 大文件也能压缩。

在工作台中打开 本地处理 · 数据不上传

怎么使用

  1. 1

    粘贴或上传 JSON

    将格式化好的 JSON 粘贴到输入框,或通过按钮 / 拖拽打开本地文件;压缩前会先自动校验,语法错误会先行标出。

  2. 2

    按需勾选 key 排序

    希望输出稳定、便于与历史版本做文本对比时,可同时勾选「key 排序」;数组元素顺序始终保持不变。

  3. 3

    点击「压缩」

    Worker 即时输出单行最小化 JSON:无缩进、无换行,仅保留 JSON 语法必需的引号与冒号。

  4. 4

    复制或下载

    复制结果,或点「下载」保存为 .json 文件;需要重新阅读时再用格式化工具还原排版。

功能特点

只去空白,数据零变化

压缩等价于 parse 后重新序列化,不丢字段、不改类型、不动键值与数组顺序,可与原文互相还原。

体积减少 15%–40%

缩进越深、数组越长,空白占比越高。压缩后的单行文本在日志、消息队列、缓存和 URL 场景里更省空间。

可叠加 key 排序

同一数据压缩后逐字节一致,配合版本管理或快照对比时不会再被换行与键顺序干扰。

保留中文原文

按 JSON 标准序列化时中文等非 ASCII 字符直接输出,不会变成 \uXXXX 转义串,结果仍可人工辨认。

大文件与高精度提示

10MB 文件在 Worker 中压缩;含超过 2^53-1 的整数时会提示开启大整数模式,避免编号类字段丢精度。

无需安装

打开网页就能用,不用登录,也没有弹窗广告。

常见错误与排查

  • ! 压缩结果是超长单行,仅供机器传输,不要直接人工阅读;排查问题时随时可用格式化工具还原。
  • ! 生产链路若已开启 gzip / br,空白压缩的收益会变小(压缩算法本身也会折叠空白),但 JSON minify 仍是零成本的第一道优化。
  • ! 压缩不能修复语法错误:出现尾随逗号、单引号等问题时会先在校验环节报错,按行列提示修好再压缩。
  • ! 发送 HTTP 请求时记得带上 Content-Type: application/json,压缩只解决体积,不替代协议头。

常见问题

JSON 压缩会改变我的数据吗?数字和中文会变吗?

不会。压缩只移除缩进、空格与换行,字段、键值、布尔、null、数组顺序全部保留;中文按原文输出而不是转义成 \uXXXX。有一种情况要留意:超过 2^53-1 的大整数,普通解析可能丢失末位精度,工具会检测并提示开启「大整数模式」做无损压缩。

JSON 压缩和 gzip 压缩有什么区别?

JSON 压缩得到的仍是合法 JSON 文本,任何环境无需解压即可解析;gzip 是传输层二进制压缩,需要客户端解压。两者不冲突:先 minify 再由 Nginx / CDN 开 gzip 是常见组合,minify 还能减少数据库与缓存里的存储体积。

压缩后为什么变成了一整行?

这正是最小化的目的:换行与缩进只是给人看的空白,不属于数据本身,单行形态体积最小。需要阅读、编辑或评审时,点格式化工具就能恢复层级缩进。

压缩时数据会上传吗?

不会。解析和序列化都在浏览器本地完成,不会把内容发到服务器。

压缩和 key 排序一起用有什么好处?

对象键的书写顺序不影响 JSON 语义,但会影响文本对比与缓存命中率。先排序再压缩后,同样的数据无论原始书写顺序如何都产生一致的输出,做快照 diff、审计比对或作为缓存 key 时更稳定。

相关工具