docai.cc

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 和实际输出不匹配

修法

先在自己这边查

  1. 在 system 或 user 里加“以 JSON 格式输出”
  2. 换支持结构化输出的模型
  3. 用严格 schema 校验

再往服务方查

  1. 中转站可能丢了 response_format 参数

责任判定表

现象 责任方
官方好、中转站报 参数被丢
两边都报 prompt 或模型
偶发解析失败 模型不稳定

什么时候该换

要求稳定就上严格 schema,不要只靠 JSON mode。

还是没解决?把报错贴进来

纯本地判断,不上传你的报错内容。支持 400 / 401 / 403 / 404 / 413 / 429 / 500 / 502 / 503 / 504 / 529 及常见错误码文字。

新用户福利:先免费试,再决定充值

注册就送积分,可兑换 API 额度。拿真实请求验证本页结论,比看十篇教程都有用。

领免费额度