JSON 在线格式化工具
免费在线 JSON 格式化 / 压缩 / 验证 —— 附 JSON 语法参考与常见错误修复指南,所有数据浏览器本地处理,安全可靠。
🚀 立即使用 JSON 格式化什么是 JSON?
JSON(JavaScript Object Notation,JavaScript 对象表示法)是一种轻量级的数据交换格式,由 Douglas Crockford 于 2001 年提出。它基于 JavaScript 的对象字面量语法,但独立于任何编程语言——几乎所有主流语言(Python、Java、Go、C#、Rust 等)都有内置的 JSON 解析库。
JSON 之所以成为互联网数据传输的事实标准,原因很简单:人类可读、机器易解析、结构灵活。从 REST API 的请求/响应体到前端配置文件(package.json、tsconfig.json),从 NoSQL 数据库(MongoDB)到消息队列(Kafka),JSON 无处不在。
JSON 语法规则速查
| 规则 | 说明 | 示例 |
|---|---|---|
| 键必须用双引号 | 单引号或无引号的键不合法 | "name": "Alice" ✅ name: "Alice" ❌ |
| 字符串用双引号 | 不能用单引号包裹字符串 | "hello" ✅ 'hello' ❌ |
| 支持 6 种数据类型 | string、number、boolean、null、object、array | {"age":28,"active":true,"tags":null} |
| 不支持注释 | JSON 规范不允许 // 或 /* */ | 如需注释,建议使用 "_comment" 字段 |
| 不支持尾逗号 | 数组或对象最后一个元素后不能有逗号 | [1,2,3] ✅ [1,2,3,] ❌ |
| 数值不能有前导零 | 007 不合法,应为 7 | 十六进制、八进制均不支持 |
| 必须 UTF-8 编码 | JSON 规范要求 UTF-8 | 支持 Unicode 转义 \uXXXX |
五种最常见的 JSON 错误及修复
1. 尾逗号
❌ {"name":"张三","age":28,}
✅ {"name":"张三","age":28}
这是写惯了 JavaScript 的人最容易犯的错误。去掉多余的逗号即可。
2. 单引号
❌ {'name':'张三'}
✅ {"name":"张三"}
JSON 的键和字符串值都必须用双引号。把单引号全部替换为双引号。
3. 缺少引号
❌ {name:"张三"}
✅ {"name":"张三"}
键名也必须用双引号包裹(与 JavaScript 对象不同)。
4. 注释
❌ {"name":"张三" // 用户名}
✅ {"name":"张三","_comment":"用户名"}
如果确实需要注释,添加一个 "_comment" 字段来记录说明信息。
5. 数值格式错误
❌ {"id":001, "hex":0xFF}
✅ {"id":1, "hex":"0xFF"}
JSON 不支持八进制/十六进制数字字面量,需要转为字符串或十进制数值。
三种核心功能详解
1. 格式化(美化 / Pretty Print)
把压缩成一行或缩进混乱的 JSON 展开为层次分明的树状结构。每个嵌套层级增加 2 个空格缩进,数组元素、对象属性一目了然。支持处理数 MB 的大文件,格式化后可以快速定位数据结构中的某个字段。
适用场景:
- 阅读 API 返回的压缩 JSON 响应
- 查看和编辑配置文件(如 package.json、prettier 配置)
- 在团队协作中提交可读的 JSON 数据变更
2. 压缩(Minify)
去掉 JSON 中所有非必要的空白字符(空格、制表符、换行),将整个 JSON 文档压缩为一行。压缩后的 JSON 文件体积可减少 20%-40%(取决于原缩进深度),能显著降低网络传输带宽。
适用场景:
- 将 JSON 嵌入 URL 查询参数中
- 存储到数据库 BLOB 字段时减少存储占用
- 在服务端到服务端的 API 调用中减小请求体大小
3. 验证(Validate)
检查 JSON 字符串是否符合 RFC 8259 规范。能精确指出语法错误的位置(行号和列号),帮助快速排查以下问题:
- 括号不匹配({ 和 } 数量不一致)
- 字符串未正确转义(如
"路径:C:\Users\"中的反斜杠) - Unicode 转义序列格式错误
- 数值超出 JavaScript 安全整数范围
实战示例
示例 1:格式化 API 响应
假设你调用了一个天气 API,返回的 JSON 是一长串:
{"code":200,"data":{"city":"北京","forecast":[{"date":"2026-05-07","high":28,"low":18,"weather":"晴"},{"date":"2026-05-08","high":25,"low":16,"weather":"多云"}]},"message":"success"}
粘贴到工具中点击格式化,瞬间变成可读的结构,每个字段清晰可辨。
示例 2:验证并修复错误 JSON
{"users": [{"name": "Alice", "age": 25}, {"name": "Bob", "age": 30,},]}
这个 JSON 有两个错误:数组中有尾逗号(30, 后多了一个逗号),对象中也有尾逗号(} 前)。验证功能会指出错误位置,修复后即可正常使用。
示例 3:嵌套结构与数组
{
"company": "科技有限公司",
"departments": [
{
"name": "研发部", "headcount": 45,
"teams": ["前端组", "后端组", "测试组"]
},
{
"name": "市场部", "headcount": 12,
"teams": ["品牌组", "渠道组"]
}
],
"founded": 2020
}
JSON 与其他格式对比
| 特性 | JSON | XML | YAML |
|---|---|---|---|
| 可读性 | ⭐⭐⭐⭐ | ⭐⭐ | ⭐⭐⭐⭐⭐ |
| 文件体积 | 小 | 大(标签重复) | 最小 |
| 解析速度 | 快 | 慢 | 中等 |
| 支持注释 | ❌ | ✅ | ✅ |
| 数据类型 | 6 种 | 全部字符串 | 丰富 |
| 最佳场景 | API 通信 | 文档标记 | 配置文件 |
如果你需要在 JSON、XML、YAML 之间转换,可以配合本站的数据格式转换工具一起使用。
使用技巧
- 大文件处理:即使几 MB 的 JSON 文件也能秒级格式化,浏览器原生 JSON.parse 引擎性能优异
- 配合浏览器搜索:格式化后按 Ctrl+F 即可在网页中搜索特定字段值
- 工作流自动化:在自定义工作流中,JSON 格式化可作为管道第一步——格式化后自动传给下一个工具(如 Base64 编码)
- 深色模式:深夜调试 API 时切换到深色主题,减少屏幕眩光对眼睛的刺激
常见问题
- JSON 支持中文吗?
- 完全支持。JSON 规范要求 UTF-8 编码,中文、日文、韩文等所有 Unicode 字符都可以直接使用,不需要转义。但为了兼容性,有些系统会用
\uXXXX格式转义非 ASCII 字符。 - JSON 和 JavaScript 对象有什么区别?
- JSON 是数据格式(字符串),JavaScript 对象是内存中的数据结构。JSON 要求键用双引号、不支持函数和 undefined、没有注释。用
JSON.parse()可以把 JSON 字符串转为 JS 对象,用JSON.stringify()反之。 - 我的 JSON 数据会传到服务器吗?
- 不会。所有格式化、压缩、验证操作均在浏览器本地完成,你的 JSON 数据不会离开你的设备。处理包含 API 密钥、用户隐私等敏感数据的 JSON 时完全不用担心。