Python json.loads 报 JSONDecodeError?8 种成因对照表与一行定位脚本
同一个 "Expecting value: line 1 column 1 (char 0)" 可能对应空响应、HTML 错误页、裸字符串、Python None 四种完全不同的成因——光看报错根本分不出来。本文给出 8 种成因的实测报错原文对照表、一行定位脚本,以及本地文件/HTTP 接口/LLM 返回三类场景的排查清单。
阅读全文 →记录 Web 工程实践:架构、性能、部署与踩过的坑。
同一个 "Expecting value: line 1 column 1 (char 0)" 可能对应空响应、HTML 错误页、裸字符串、Python None 四种完全不同的成因——光看报错根本分不出来。本文给出 8 种成因的实测报错原文对照表、一行定位脚本,以及本地文件/HTTP 接口/LLM 返回三类场景的排查清单。
阅读全文 →写 Django 接口返回 JSON,看似三种写法就完事,实际每个都有坑:中文被转成 \uXXXX、返回列表报 safe 错误、datetime 不可序列化、浏览器访问 DRF 接口返回的是 HTML。本文给出三种写法的适用场景、四个坑的报错原文与解法,以及一条 curl 验证命令。
阅读全文 →