OpenAI JSON mode 报错:输出不是合法 JSON
400常见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。
还是没解决?把报错贴进来
新用户福利:先免费试,再决定充值
注册就送积分,可兑换 API 额度。拿真实请求验证本页结论,比看十篇教程都有用。
领免费额度