API 返回 JSON 调试常见错误:校验、格式化与对比清单

2026-08-04

联调时 JSON 最常出什么问题

前端 JSON.parse 失败、后端反序列化报错、字段「明明有却取不到」——多数不是业务逻辑,而是 语法、结构或转义 问题。按下面清单用 ComTools 本地工具逐步缩小范围。

排查清单(建议顺序)

1. 校验 —— 是不是合法 JSON?
2. 格式化 —— 结构长什么样?
3. 路径提取 —— 目标字段在哪?
4. 对比 —— 和上一版 / 文档样例差在哪?
5. 转义 —— 字段里的字符串是否多转义或少转义?
6. 压缩 —— 需要单行重放请求时

1. 先校验语法

打开 JSON 校验,粘贴响应体。

常见错误 处理
尾逗号 删掉最后一个 ,
单引号 / 未加引号的键 改为标准双引号 JSON
注释、NaNundefined 去掉或改成合法值
半截响应 检查网关截断、代理改写

详见:JSON 校验指南

2. 格式化后阅读

合法后用 JSON 格式化(2/4 空格或 Tab),折叠大对象,确认层级。

详见:JSON 格式化指南

3. 用路径确认字段

响应很深时,用 JSONPath:第一行写 $.data.user.id,下面贴 JSON,直接看取值是否为 null

详见:JSONPath 指南

4. 对比新旧响应

接口升级后行为异常:左侧贴旧响应、右侧贴新响应,打开 JSON 对比,看字段增删与值变化。

详见:JSON 对比指南

5. 字符串转义问题

现象 可能原因 工具
字段里是 \"hello\" 字面量 多转义了一层 反转义
拼进 JSON 后整体非法 内文未转义引号/换行 转义

详见:JSON 转义指南

6. 需要单行重放

Postman / curl 要一行 body 时,用 JSON 压缩

详见:JSON 压缩指南

典型联调流程

复制 Response
  → 校验(红灯则修语法)
  → 格式化(看结构)
  → Path 取业务字段
  → 与文档/旧版 Compare
  → 必要时 Escape / Minify 再请求

表格类数据还可:JSON ↔ CSV 给业务核对;落库用 JSON 转 SQL;生成 DTO 用 JSON 转 C#

工具速查

目的 入口
合不合法 /json-validator
好看易读 /json-formatter
取嵌套字段 /json-path
两版 Diff /json-compare
字段转义 /json-escape
压成一行 /json-minify

全部在浏览器本地处理,适合含 Token 的响应(仍注意公共电脑安全)。

常见问题

Q:校验通过但业务字段是 null?
A:多半是路径或版本字段改名——用 Path + Compare 确认。

Q:Content-Type 是 JSON 但 body 外面包了 HTML?
A:先看是否登录页/网关错误页;只复制真正的 JSON 再校验。

Q:数组根和对象根都正常吗?
A:都合法;注意客户端是否假设一定是对象。


English version