参考
空结果不等于故障
返回空数组多半不是接口坏了,而是这次确实没有数据 —— 代码格式写错、非交易日、数据尚未披露都会这样。空结果不扣次数,先按下面几项自查。
先看两个字段
空数据在我们这里是明确的:
{ "ok": false, "endpoint": "quote", "tier": "free", "elapsed_ms": 700, "source": "multi", "data": [] }
- HTTP 状态码仍是 200(信封本身就是返回体);
ok: false表示这次没取到数据,data是空数组;- 反过来,
ok: true时data一定有内容 —— 空结果不会伪装成成功。
哪些“空”是正常的
按从常见到少见排:
| 情况 | 表现 | 怎么办 |
|---|---|---|
| 代码格式写错 | ok:false + 空数组 |
最常见。不带前缀、点号写法、大写前缀全都返回空 ⇒ 见代码格式速查 |
| 代码不存在 | 同上 | 用 /v1/search 按名称确认代码 |
| 这只票当天没有这项数据 | 空数组 | 比如没上榜就没有龙虎榜数据,这是正常的 |
| 数据尚未披露 | 空 / 带说明 | 如两融、财报在披露日之前 —— 上游会给出原因 |
| 传了不支持的代码 | 空数组 | /v1/snapshot 只支持 A 股,传港股 / 美股返回空(不返回错数据) |
⚠️ 非交易日不是“空” —— 行情会返回最近交易日的数据,数据日期看 date ⇒ 见数据时间口径。
空结果不扣次数
取不到数据就不计费、也不占匿名额度 —— 上游失败、空结果、参数导致的空,次数都会退回来。
怎么区分“正常的空”和“真故障”
- 看 HTTP 状态码 —— 200 是业务结果;4xx / 5xx 才是请求层的问题。
- 看有没有
ok字段 —— 有ok就是信封(业务结果);没有ok、顶层是error或detail,就是请求层错误。 - 看
ok的值 ——ok:false+data空 = 这次没数据;上游取数失败会返回 502 并带Retry-After,不是 200。
常见误用
- 看到空数组就以为接口挂了 —— 先查代码格式,这是最常见的原因。
- 不判
ok就取data[0]—— 空数组会直接报索引错误。 - 把“这只票没有这项数据”当故障 —— 没上榜、未披露都是正常空。
- 拿
snapshot查港股 / 美股 —— 只支持 A 股,会返回空。
最后更新: 2026-10-05
空结果的判定规则取自数据层实现;代码格式类空结果与 HTTP 状态码为 2026-10-05 线上实测。