压缩JSON意味着删除它不需要的空白:冒号和逗号后面的空格、缩进和 换行符。这就是全部操作。关于值、它们的顺序或它们的含义,没有任何 变化。
使用JSON压缩器
粘贴您的文档,或加载示例,然后按压缩。结果显示在右侧,带有字节 计数,因此您可以看到实际节省量而不是猜测。典型的缩进配置文件 根据嵌套深度和键名长度,缩小30%到50%。
为什么格式化和压缩可以安全地交替使用
此网站上的两个工具在底层以相同方式工作:标记化输入、验证它,
然后从令牌流重新打印,而不是从JSON.parse解析的值。这意味着
长整数保留每个数字,看起来像数字的对象键保留您写入的位置,
无论哪个方向。您可以格式化文档,然后压缩它,然后再次格式化,
值永远不会漂移。
这很重要,因为常见的替代方案(通过JSON.parse和JSON.stringify)
会悄悄地将超过Number.MAX_SAFE_INTEGER的整数四舍五入,并重新
排序整数类键。这样构建的压缩器在恰好丢失数字最重要的文档上
悄悄地不精确:数据库ID、时间戳、外部标识符。
什么时候压缩真正有帮助
压缩的JSON是给机器用的,不是给需要阅读文件的下一个人用的。 在通过网络发送文档之前值得做(每个字节都有成本),例如将配置 块嵌入URL、存储在有大小限制的数据库列中,或在移动应用包内 发送。不值得在您即将提交到版本控制的文件上做,因为压缩的diff 不可读,而格式化的可读。
快速检查压缩是否损坏了什么的方法
如果您压缩了一个文档然后决定检查它,立即将其格式化回来。由于 两个方向从相同的令牌流重新打印,格式化的结果应该与您开始时 完全相同(除了任何您有的尾随空白)。如果不是,此工具上游的 某些东西已经更改了数据,这在发送之前值得了解。