上周调试一个API对接,两边数据结构明明一样,偏偏签名验不过。嗯查了三天,最后发现是对方用PHP json_encode()默认按key排序,而我这边Python dict(3.6以前)遍历顺序随机。虽然JSON标准说对象是无序的,但现实里谁家签名不依赖序列化顺序?最后硬生生加了个sort_keys=True才搞定。
现在看到“符合标准”四个字就起疑
上周调试一个API对接,两边数据结构明明一样,偏偏签名验不过。嗯查了三天,最后发现是对方用PHP json_encode()默认按key排序,而我这边Python dict(3.6以前)遍历顺序随机。虽然JSON标准说对象是无序的,但现实里谁家签名不依赖序列化顺序?最后硬生生加了个sort_keys=True才搞定。
现在看到“符合标准”四个字就起疑