# JSON 格式化与校验工具

URL: https://shahid09.is-a.dev/zh/tools/json-formatter/
Author: Muhammad Shahid (https://shahid09.is-a.dev/)
免费工具 · 在浏览器中运行

粘贴 JSON，把它格式化为易读的缩进形式、压缩为一行，或准确找出错误所在。

**快速解答:** 粘贴 JSON 后选择格式化得到带缩进的易读输出，或选择压缩去除所有空白。如果 JSON 无效，工具会显示浏览器自带 JSON 解析器的错误信息，指出问题所在，例如末尾多余的逗号或缺少引号。

## 使用方法

1. **粘贴 JSON.** 来自 API 响应、配置文件或日志。
2. **格式化或压缩.** 格式化会添加缩进（2 个空格、4 个空格或 Tab）；压缩会把它放到一行。
3. **修复错误.** 如果无效，查看错误信息，修改对应位置后重试。

## 常见问题

### 最常见的 JSON 错误有哪些？

最后一项后面多了逗号、用单引号代替双引号、键没有加引号，以及包含注释（JSON 不允许注释）。

### 我的 JSON 会发送到服务器吗？

不会。格式化和校验都在浏览器中运行。

### 格式化和压缩有什么区别？

格式化添加换行和缩进，方便人阅读；压缩去掉它们，使数据尽可能小，便于传输。

### JSON 可以有注释吗？

不可以。标准 JSON 不允许注释；请删除注释，或在工具支持时使用 JSONC 等格式。

### 能格式化多大的 JSON？

几 MB 的文件在现代浏览器中都能正常处理；非常大的文件可能较慢，因为一切都在你的设备上运行。

### JSON 和 JavaScript 对象有什么区别？

JSON 是规则更严格的文本格式：键和字符串必须用双引号，不能有末尾逗号、注释、函数或 undefined。

### 如何在 JavaScript 中格式化 JSON？

JSON.stringify(value, null, 2) 会以两个空格缩进格式化，JSON.parse(text) 会把 JSON 读取为对象。

### 为什么我的 JSON 里有 \" 这样的转义引号？

很可能被编码了两次：JSON 里面套着一个 JSON 字符串。再解析一次就能得到对象。

### JSON 可以包含日期吗？

没有日期类型。日期通常存成 ISO 8601 字符串，例如 "2026-10-31T12:00:00Z"，或存成 Unix 时间戳。

### 什么是 JSON Lines？

每行一个 JSON 对象的格式，常用于日志和数据导出。请逐行分别格式化。

## 相关内容

- [Base64 编码解码工具](https://shahid09.is-a.dev/zh/tools/base64-encoder-decoder/)
- [JWT 解码器](https://shahid09.is-a.dev/zh/tools/jwt-decoder/)
- [将 Node.js API 从 20 万扩展到 100 万用户](https://shahid09.is-a.dev/engineering/scaling-nodejs-api-200k-to-1m-users/)
