OpenAI JSON mode 报错:输出不是合法 JSON
开了 JSON 模式仍然报解析失败的原因:没写 json 关键字、schema 不严、模型不支持。
更新 2026-10-28
核验 2026-10-28 · 码农阿风
json结构化输出
30 秒结论
JSON 模式要求 prompt 里明确出现 json 字样,否则会被拒。
报错原文对照
{"error":{"message":"'messages' must contain the word 'json'"}}
原因排序
| 概率 | 原因 |
|---|---|
| 45% | prompt 里没提 json |
| 30% | 模型不支持 JSON 模式 |
| 25% | schema 和实际输出不匹配 |
修法
先在自己这边查
- 在 system 或 user 里加"以 JSON 格式输出"
- 换支持结构化输出的模型
- 用严格 schema 校验
再往服务方查
- 中转站可能丢了 response_format 参数
责任判定表
| 现象 | 责任方 |
|---|---|
| 官方好、中转站报 | 参数被丢 |
| 两边都报 | prompt 或模型 |
| 偶发解析失败 | 模型不稳定 |
什么时候该换
要求稳定就上严格 schema,不要只靠 JSON mode。
你在这个站点上遇到过这个问题?
认领站点后可补充证据、申请公开核验;认证不改榜单排序,只对应可复核的检测与复测。
认领 / 申请认证