什么时候需要 JSON 校验
联调时前端报 Unexpected token、后端反序列化失败、配置中心拒绝加载——第一步通常是确认:这段文本是不是合法 JSON。
ComTools JSON 校验(Tools/Json/Validator)在浏览器本地执行 JSON.parse:通过则提示有效(并可按缩进美化展示);失败则显示引擎给出的错误信息,帮你修语法。
使用步骤
- 打开 JSON 校验。
- 粘贴待测文本(可点示例)。
- 可选:选择缩进(2 / 4 / Tab),通过后会按该缩进展示。
- 点击 运行。
- 状态区显示「校验通过」或具体错误原因。
数据仅在本地解析,不上传服务器。
合法 vs 不合法示例
合法
{
"id": 1,
"name": "Alice",
"active": true,
"tags": ["a", "b"],
"meta": null
}
常见非法写法
| 问题 | 错误示例 | 改法 |
|---|---|---|
| 尾逗号 | {"a":1,} |
去掉最后一个逗号 |
| 单引号 | {'a':1} |
改用双引号 "a" |
| 键未加引号 | {a:1} |
"a": 1 |
| 注释 | {"a":1 // x} |
JSON 标准无注释,删掉 |
| 多余逗号在数组 | [1,2,] |
去掉尾逗号 |
| 未转义引号 | {"msg":"say "hi""} |
使用 \" |
| 单引号字符串 / NaN | { "n": NaN } |
用 null 或数字字符串 |
浏览器错误信息通常类似:Unexpected token ... in JSON at position N,按 position 找到附近字符即可。
校验通过之后做什么
| 下一步 | 工具 |
|---|---|
| 可读化 | JSON 格式化 |
| 压成一行 | JSON 压缩 |
| 对比两版响应 | JSON 对比 |
| 生成 C# 实体 | JSON 转 C# |
| 数组转 INSERT | JSON 转 SQL |
| 抽字段 | JSONPath |
与格式化的关系
- 校验:关心合不合法;通过时可顺带美化输出。
- 格式化:以美化、高亮、折叠为主;非法时同样会报错。
只想「红灯/绿灯」用校验;要长时间阅读大对象用 格式化。
注意事项
- JSON ≠ JavaScript 对象:
undefined、函数、NaN、尾逗号均不合法。 - 日期在 JSON 里一般是字符串(ISO 8601),不是 Date 类型。
- 超大文本可能导致浏览器卡顿,可先截取子树校验。
常见问题
Q:错误里的 position 怎么用?
A:从文本开头数字符(含换行);或把报错片段放到编辑器里搜索附近的 , ' {。
Q:JSON5 / YAML 能校验吗?
A:本工具按严格 JSON。YAML 请用对应工具;宽松格式需先转成标准 JSON。
Q:空输入?
A:视为无效(空输入)。
Q:数组根节点可以吗?
A:可以,[1,2,3] 与 {...} 都是合法根。