JSON 与数据处理指南
JSON 对比:排除排版噪声,检查对象与数组
区分排版、对象键顺序、数组顺序以及字段缺失和 null,定位真实数据变化。
先选择比较目标
文本比较会报告空格和换行变化,结构比较检查解析后的值及其位置。
人工阅读时可先格式化两份数据,再用 JSON 对比定位值变化,避免缩进调整淹没真实差异。
Left: {"name":"Ada","active":true}
Right: {"active":true,"name":"Ada"}
Object members are reordered; values are unchanged.数组顺序属于数据
JSON 数组有顺序,相同对象换位置也可能改变含义;对象成员顺序的交换则应按不同规则判断。
集合型响应可以按约定 ID 对齐,但排行榜和事件流依赖原顺序,不能统一自动排序。
同时检查类型
数字 1、字符串 "1"、null 和字段缺失属于不同状态,肉眼相近的输出也可能破坏接口约定。
样例应覆盖这四类状态;本站对比保留大整数数值原文,避免舍入掩盖 ID 差异。
{"count":1} ≠ {"count":"1"}
{"count":null} ≠ {}把差异变成验收规则
对比快照前先约定请求 ID、时间戳等易变字段如何处理,排除项需要记录。
检查一个数组变化和一个新增字段,确认预期差异;字段允许范围和类型仍需单独做 Schema 校验。