跳到主要内容
Tooletto

JSON 压缩工具

JSON 格式化工具 的预设方案

去除 JSON 里每一个不必要的空格、制表符和换行,产出最小的有效输出。适合把 JSON 嵌入环境变量、查询字符串或对体积敏感的配置文件。

  • 文件永不离开你的设备
  • 免费,无需注册
  • 无水印
  • 加载后可离线使用
Loading tool…

如何JSON 格式化工具

  1. 1

    粘贴你的 JSON

    把 JSON 粘贴或输入进输入框——它会随输入即时解析。

  2. 2

    选择一种风格

    选择 2 空格、4 空格或制表符缩进,或切换到压缩输出。

  3. 3

    复制结果

    把格式化后的 JSON 复制到剪贴板,或下载为 .json 文件。

压缩后的 JSON 真正能节省什么

格式化和压缩后的 JSON 之间的体积差异,随着结构的嵌套深度增加而增加,因为每一层缩进都会在每一行添加空白——一份嵌套很深的 API 响应,可能有相当可观的一部分字节数纯粹是格式化用的空白,接收方的程序完全不会读取、也不需要这些内容。在数据进入一个 HTTP 请求体、一个有长度限制的 URL 查询参数,或者一个环境变量之前把它去掉,能直接减小负载体积,而不损失任何数据本身。

在约束不是体积而是可读性的地方,这一点就没那么重要了——一份纳入版本控制的配置文件,保持格式化状态反而受益更多,因为一份压缩成单行的 JSON 文件对人类审阅者来说很难做差异对比或编辑,而版本控制工具处理按行分隔的差异,通常比处理密集的单行内容要好得多。

压缩不会改变数据本身的含义

有必要明确说明,压缩纯粹是一个空白层面的操作——没有任何键、值、类型或结构会发生任何改变,一个解析压缩后输出的程序,收到的对象在各方面都和它从格式化版本收到的完全一致。唯一能观察到的差异,是这份文本表示形式的字节数,而绝不是它所代表的数据。

常见问题

我的 JSON 会被发送到服务器吗?

不会。解析和格式化使用的是浏览器内置的 JSON 引擎。没有任何内容被传输、记录或存储,这让它对包含生产数据的 API 响应来说也是安全的。

为什么它说我的 JSON 无效?

最常见的原因是尾随逗号、用单引号代替双引号、没加引号的键,以及注释——这些在 JavaScript 里都能被接受,但都不是合法的 JSON。错误信息会指出具体出错的位置。

格式化和压缩有什么区别?

格式化会加上缩进和换行,让结构变得可读。压缩会去掉每一个可选字符,让数据体积尽可能小,这正是把 JSON 嵌入一个请求或配置文件时你想要的效果。

能处理很大的文件吗?

几兆字节以内的文档能即时格式化。超过大约 10 MB 之后,无论用什么工具,浏览器自身的 JSON 解析器都会成为瓶颈。