本工具在浏览器本地完成 JSON 的格式化(美化缩进)、压缩与语法校验,输入内容不会上传到服务器。
使用步骤
- 将 JSON 文本粘贴到左侧输入 JSON 文本框。
- 点击格式化:校验通过后,右侧输出框给出 2 空格缩进的美化结果。
- 点击压缩:输出去除所有多余空白的单行 JSON,适合传输或写入配置。
- 输出框上方的状态文字会提示“格式化成功 / 压缩成功”;语法有误时显示红色
JSON 错误:…,且不会产生输出。
- 点击复制复制输出内容,点击清空清空两侧文本与状态。
格式化与压缩都以 JSON.parse 解析成功为前提,因此本工具也可当作 JSON 语法校验器使用。
JSON(JavaScript Object Notation)是一种轻量数据交换格式,语法规则很少但要求严格。
- 键必须用双引号:对象的字段名只能是双引号字符串,不能用单引号,也不能不加引号。
- 支持的数据类型:对象
{}、数组 []、双引号字符串、数字、true / false、null。
- 不允许注释和尾逗号:
//、/* */ 注释,以及最后一个元素后面多余的逗号,都会导致解析失败。
- 支持任意层级嵌套:对象和数组可以互相嵌套,同级元素之间用逗号分隔。
| 合法示例 |
常见错误写法 |
| {"name": "牛马", "age": 3, "tags": ["测试", "开发"], "vip": false} |
{'name': '牛马', "age": 3,} |
右侧错误写法同时触犯了两条规则:键和字符串值用了单引号、最后一个字段后多了尾逗号。
JSON 解析失败时,错误信息往往直接指出原因,按下表对照即可快速定位。
| 典型报错 |
常见原因 |
| Unexpected token … | 单引号、漏写逗号/引号、尾逗号,或混入中文标点(,:) |
| Expected double-quoted property name | 对象的键没用双引号,或括号内多了一个逗号 |
| Unexpected end of JSON input | 括号、引号没有闭合,或内容被截断 |
- 按位置定位:报错中的
position N 是从输入开头计算的字符偏移,可据此找到出错附近。
- 查括号配对:无明确位置时,从末尾向前检查
{}、[]、引号是否成对。
- 缩小范围:优先检查最近编辑或粘贴的字段,接口返回的 JSON 还可先确认外层是否多包了一层文本。