input.json
output.min.json
粘贴 JSON 并点击压缩去除所有空白。

JSON 压缩到底做了什么

压缩就是把 JSON 解析出来,再重新序列化,中间不加可选的缩进和换行。引号内部的空格属于值的一部分,会保留;token 之间的空格则被丢掉。输出是紧凑的一行,更容易塞进那些只接受单行的系统里。

如果严格解析失败,本工具会先跑一遍和 JSON Fix 相同的常见语法修复,再做压缩。把结果当作与原文等价之前,先确认修复后的语义没有跑偏。

什么时候该压缩 JSON

  • 环境变量和密钥管理器 —— 单行通常更好粘贴、更好传递。
  • 紧凑的测试数据或文档示例 —— 人不需要逐层看结构时,能省下不少纵向空间。
  • URL 参数 —— 百分号编码之前文本更短,前提是接收方确实期望这里是 JSON。
  • 请求体 —— 传输压缩之前原始字节更少。

压缩不是安全措施,也不等于 gzip 或 Brotli 压缩。它不会隐藏任何信息;而且重复的空白本来就很好压,所以对已经启用压缩的 HTTP 响应来说,额外收益相当有限。

留意数字精度和嵌入边界

浏览器把数字按 JavaScript 的 number 解析。超出安全整数范围的整数,在解析再序列化的过程中可能丢精度。如果某个 ID 比 Number.MAX_SAFE_INTEGER 还大,就把它写成带引号的字符串,或者改用明确支持任意精度的处理链路。

如果你要把结果嵌进 shell 命令、HTML 属性、URL 或源码字符串里,压缩只是第一步,接下来还得按目标语境的转义规则处理。一份紧凑的 JSON 文档,并不会自动在所有外层语法里都是安全的。

调试和代码评审时,还是留着格式化版本。一行对机器友好,对凌晨两点被叫起来值班的人可不太友好。