DevKitBase
工具关于隐私

当美化打印只是累赘时压缩 JSON

美化 JSON 用于阅读;压缩 JSON 用于传输和缓存。粘贴有效的 JSON,得到具有相同结构的紧凑字符串。

字符: 27
输入
输出

使用时机

为fixtures文件夹压缩测试数据,将内容控制在大小限制内,或是在粘贴到API客户端之前撤销美化。

示例

输入
{
  "a": 1,
  "b": [2, 3]
}
输出
{"a":1,"b":[2,3]}
输入
{"msg":"keep  spaces"}
输出
{"msg":"keep  spaces"}
字符串内容保持原样。

工作原理

使用JSON.parse然后JSON.stringify,不带空格参数。字符串内的值保持不变;仅移除标记之间的无关空格。

常见陷阱

  • 无效的JSON无法压缩——你会得到一个解析错误。
  • 压缩≠gzip;传输压缩是分开的。
  • 键的顺序取决于引擎;不要依赖重新排序来进行差异比较。

区别说明

压缩使紧凑。格式化器展开。验证器先检查语法。

常见问题

压缩会改变值吗?
不会——仅改变标记之间的无意义空白。
如果 JSON 无效怎么办?
显示解析错误;不要静默地“压缩”损坏的文本。
字符串内的二进制/base64?
不变;字符串是不透明的。
与 gzip 相关?
压缩 ≠ 压缩;gzip 是另一回事。

相关工具

在浏览器中运行。不上传任何内容。非安全产品——哈希和JWT解码仅用于调试,不用于密码存储或身份验证建议。