JSON 压缩
把 JSON 压成单行紧凑格式,并对比压缩前后的字符数、字节数与压缩率;非法内容会指出第几行第几列。
浏览器本地运行所有计算都在你的浏览器里完成,数据不会离开本机。
压缩结果
这个工具能做什么
- 把多行美化的 JSON 压成单行再塞进环境变量、命令行参数或一行配置文件里,避免换行把参数截断。
- 对比压缩效果:结果下方直接给出原始与压缩后的字符数、字节数和节省比例,判断值不值得压缩。
- 从文档里复制出来的 JSON 常常带多余缩进和换行,压缩一下便于做字符串比对或计算哈希。
- 压缩后当作接口请求体示例,粘贴到 curl、Postman 或日志里更紧凑。
示例
输入
{ "name": "UniKit", "tags": [ "json", "minify" ], "meta": { "stable": true } }输出
{"name":"UniKit","tags":["json","minify"],"meta":{"stable":true}}统计:原始 78 字符 / 78 字节,压缩后 65 字符 / 65 字节,节省 13 字节,压缩率 16.67%。压缩只去掉结构空白,字符串内部的空格会完整保留。
常见问题
压缩率为什么有时是 0%?
因为输入本身已经很紧凑,或者空白只占极小比例。压缩只删除键值对之间、数组元素之间和括号前后的空白与换行,字符串里的内容一个字符都不会动,所以本来就单行的 JSON 压缩后长度不变。
这和 gzip 压缩是一回事吗?
不是。这里做的是「去掉可读的空白」,输出仍是合法 JSON 文本,减少的只是排版字符。gzip、brotli 是真正的二进制压缩算法,能把重复内容压得更小,但输出不再可读,两者可以叠加使用。
字符串里的空格和换行会被删掉吗?
不会。只有 JSON 结构之外的空白会被移除,双引号内部的空格、制表符以及 \n 转义序列都原样保留,所以压缩后的结果与原数据语义完全一致。
输入非法 JSON 会怎样?
会先校验再压缩,所以非法内容不会产出错误结果,而是给出第几行第几列以及原因,例如内容意外结束、对象的键必须是双引号字符串、JSON 结束后还有多余内容。开头的 UTF-8 BOM 会被自动忽略。
压缩过程会上传数据吗?
不会。全部在浏览器里完成,页面不发起网络请求,断网可用,粘贴的 JSON 不会被记录或保存。
关键词:jsonjson 压缩json minifyjson 紧凑compress jsonminify压缩率size 对比