🎉 新版站点已上线 — 新用户请在 v2.cloudmist.cloud 注册使用,本站教程均以新站地址为准 · 老用户账号已迁移完成,用原用户名/邮箱 + 原密码可直接登录 新站(登不上请在用户名后加 _82350),原站余额可继续在 api.cloudmist.cloud 用完,新站需重建令牌并改用新站 base_url
首页 › 教程 · 文章 › API 怎么返回固定 JSON 字段?JSON mode、结构化输出与验收

API 怎么返回固定 JSON 字段?JSON mode、结构化输出与验收

云岚API · 教程 · 更新于 2026-10-24

要让程序接收固定 JSON 字段,应先确认所用模型和接口支持哪种输出约束,再分别验收语法、结构与事实。JSON 能解析,不代表字段齐全;字段齐全,也不代表从原文提取正确。下面用一份合成活动记录说明接收流程,附可下载样例;它们不是云岚API或上游模型的调用实测。官方文档核对日期为 2026 年 10 月 24 日。

先分清:返回的外壳是 JSON,还是回答内容是 JSON

API 响应外层可能已经是 JSON,里面装着请求标识、用量和生成内容。但在 Chat Completions 中,choices[0].message.content 通常仍是字符串。解析外层成功,只说明拿到了响应包,不能代替解析回答正文。Chat Completions 响应定义

如果你连第一条请求都没有跑通,先按接入起步教程确认地址、Key 和模型。已有可用 Key、只是正文缺字段或无法入库,则保留同一接口与模型,按本文检查,不必先更换服务。

选输出方式,别把三个名字当成同一种保证

方式 解决什么 接收端仍需做什么
提示词要求“只输出 JSON” 告诉模型期望的表达格式 检查是否混入说明文字,以及字段、类型和事实
JSON mode 在支持的接口中约束 JSON 格式 检查完整性和业务所需 schema
Structured Outputs 在支持范围内按指定 schema 约束输出 处理拒绝、未完成状态,并核对业务事实

OpenAI 文档区分 JSON mode 与 schema 约束:Chat Completions 使用 response_format,Responses 使用 text.format;支持的 schema 也有范围限制。不要把两个接口的参数层级直接互换。官方结构化输出指南

厂商名称相似,配置不一定相同。例如 DeepSeek 的 JSON Output 文档要求设置 json_object,提示中包含 json 并给出期望示例,同时提示可能出现空内容或截断;这些不能被解释成任意 schema 都有保证。DeepSeek JSON Output

先写合格标准,再填请求参数

假设输入只有一句:“活动在苏州举行,共 18 人报名。”应用需要两个字段:城市 city 和报名人数 attendees,不接受额外字段。期望结果为:

{"city":"苏州","attendees":18}

下面是自定义的 Chat Completions 请求参数片段,不是完整请求。它只示范结构,不含模型、messages、地址或密钥;实际使用前须核对所选模型与服务的兼容说明。

{
  "response_format": {
    "type": "json_schema",
    "json_schema": {
      "name": "event_registration",
      "strict": true,
      "schema": {
        "type": "object",
        "properties": {
          "city": {"type": "string"},
          "attendees": {"type": "integer"}
        },
        "required": ["city", "attendees"],
        "additionalProperties": false
      }
    }
  }
}

这份 schema 规定形状,没有把“苏州”和“18”写死。返回另一个城市仍可能通过结构校验,因此不能把 schema 通过当成提取准确。真实业务还应先定义缺信息时的处理方式:例如退回待补充,或在接口允许的 schema 中明确使用 null;不要把未知人数自动填成零。

若目标是让模型选择工具、生成工具参数并完成执行回传,转到工具调用流程。这里的目标是程序接收一份最终数据记录。

接收端按顺序过四道检查

第一步检查响应状态。遇到拒绝、未完成或空内容,进入独立分支,不直接访问业务字段。不要给截断文本补上右括号就当成功;补齐语法也不能恢复丢失的信息。拒绝与未完成处理说明

第二步解析生成正文。只检查它是不是完整 JSON;说明文字、代码围栏和半段字符串都应留作诊断信息。默认保留原输出,不要用正则截取第一个大括号后静默覆盖原始结果。

第三步用成熟的 JSON Schema 校验库检查字段与类型。下载包使用 jsonschema 的 Draft 2020-12 校验本地样例;这是本地验收选择,不表示每个模型接口实现完整 Draft 2020-12。不要用“有两个键”代替类型、必填项和额外字段检查。校验库文档

第四步回到原文核对事实。本例必须是苏州、18 人。正式任务可以逐条标注一小组代表输入,再比较每次结果;明确记录样本数,不能凭单次通过推算总体准确率。

合成输出 JSON 语法 本例 schema 原文事实
{"city":"苏州","attendees":18} 通过 通过 通过
{"city":"苏州"} 通过 不通过:缺字段 不进入下一步
{"city":"苏州","attendees":"18"} 通过 不通过:字符串代替整数 不进入下一步
{"city":"杭州","attendees":18} 通过 通过 不通过:城市不符

失败后先定位,再决定是否重试

现象 优先核对 下一步
参数或 schema 被拒绝 接口路径、参数层级、模型支持范围 修改请求配置,保留错误,不原样循环重试
正文为空或只收到半段 结束状态、输出上限、传输是否完成 先查用量与请求记录,再决定重发
JSON 合法但缺字段或类型错 实际启用的模式、schema 是否传入 保留失败样本,修正后再验收
字段完整但内容错误 输入是否含答案、字段定义是否歧义 改规则或交人工处理,不能只调格式参数

流式接收时,一个片段不等于完整 JSON 文档;可以使用相应 SDK 的结构化流处理能力,最终入库仍要确认完成状态。若是连接中断、鉴权或限流问题,按常见报错排查定位。

重试应有次数和费用上限。记录“首次失败、修改原因、最终结果”三项;别只留下最后一次成功,把重试费用也算入任务成本核对。

下载一组样例,给自己的接口留验收记录

下载离线验收样例包含合成原文、schema、合格与不合格输出及预期结果。它用于检查你的接收逻辑是否分清各类失败,不需要 API Key,也不会访问服务。

再下载空白 JSON 输出验收记录 CSV,填写日期、服务、接口、模型、模式、schema 版本、结束状态、三层检查与重试次数。未知项留空,记录中不要放 Key 或敏感原文。把真实请求结论与合成样例分开保存。

云岚API的具体分组、模型和协议是否透传某项约束,应以当期说明和对应请求验证为准。一次普通聊天成功,不能证明结构化输出兼容;换模型、分组或接口后也应复验。需要安排完整能力检查时,可接着使用任务验收方法。

常见问题

提示词写“只输出 JSON”就够了吗?

它可以表达要求,但接收程序仍须检查实际结果。已有接口支持 schema 约束时,按文档配置;只支持 JSON mode 时,也应保留结构和事实验收,不能省略错误分支。

把 temperature 设为零能保证固定字段吗?

不要把生成参数当字段校验。即使输出看起来更稳定,也没有替代必填项、类型和原文核对;是否接受该参数还取决于模型与接口。

字段不存在时返回空字符串还是 null?

先按业务定义区分“未知”“空值”和“确实为零”,再让 schema、提示词和数据库保持一致。本页样例只处理信息齐全的一句原文,不规定所有业务的缺失值策略。

云岚API的所有模型都支持 strict 吗?

不能据此断言。本文核对的是官方能力与本地样例,没有对云岚API全部模型、分组逐项测试。请记录实际协议和模型,先确认支持范围,再验证结果与失败行为。

流式返回 JSON 时,先确认输出是否完整

网络读取的一块数据可能只有半个事件或部分文本。先按 API 流式输出的组装与完成判断收集完整输出,再执行本篇的语法、结构与事实验收;不能把局部可解析的片段直接当成整次请求已完成。

多份结果或 PDF 来源,需要再验哪一层?

逐条 JSON 合格之外,异步 Batch 结果对账还要按请求标识检查重复、失败与缺项;从文件提取字段时,PDF 页码与证据验收负责把字段对应回原文。输出结构和来源事实分别留下记录,不能相互替代。

注册后查看试用额度与领取条件

按当前模型列表选择服务,先核对令牌分组、接口协议与价格,再用自己的任务验证。

注册并查看试用条件 →已有账号?进入控制台创建令牌 · 调用报错先排查
注册、充值和调用均在云岚API 新业务站完成
相关内容
本站为云岚API 注册、登录与充值入口站点 · 模型与价格以控制台实时数据为准 · 更新于 2026-10-24
Claude、GPT、Gemini 等名称为各自权利人商标,本站为独立第三方 API 中转/聚合服务,与上述厂商无隶属或授权关系。