技术博客
脑筋急转弯 API 返回字段全解:contentlist / list / 分页字段一文读懂

脑筋急转弯 API 返回字段全解:contentlist / list / 分页字段一文读懂

作者: 万维易源
2026-08-31
脑筋急转弯API指南免费接口
# 脑筋急转弯 API 返回字段全解:contentlist / list / 分页字段一文读懂 > 接口/接入点:脑筋急转弯(1618,1618-2 列表 / 1618-3 随机) · 免费服务 · 返回 JSON · 适用人群:已接入或准备接入的开发者 · 阅读时间约 6 分钟 ## 核心要点 - 所有业务数据都包在系统级字段 `showapi_res_body` 内;系统级字段 `showapi_res_code` 为 0 表示成功。 - 列表接口(1618-2)业务数组是 `contentlist`,并带 `allNum`/`allPages`/`currentPage`/`maxResult` 四个分页字段。 - 随机接口(1618-3)业务数组是 `list`,另带 `remark` 与 `ret_code`,**没有分页字段**。 ## Why:为什么必须弄清返回结构 两个接入点的返回"长得像但不一样"——这是接入时最易踩的坑。若按列表接口的 `contentlist` 去解析随机接口的返回,会得到空数组,误以为接口挂了。本文把两套字段并排讲清,作为全系列的"字段速查页"。 ## What:接口速览 | 项目 | 说明 | |------|------| | 接口地址 | 1618-2:`https://route.showapi.com/1618-2?appKey=YOUR_APPKEY`;1618-3:`https://route.showapi.com/1618-3?appKey=YOUR_APPKEY` | | 鉴权 | AppKey(query 参数 `appKey`) | | 统一封装 | `showapi_res_body` 内为业务数据 | | 实时性 | 题库由服务端维护,无需调用方更新 | ## How:字段对照表 系统级字段(两个接入点一致): | 字段 | 类型 | 说明 | |------|------|------| | `showapi_res_code` | Number | 调用状态码,0 为成功 | | `showapi_res_error` | String | 错误信息,成功为空 | | `showapi_res_id` | String | 本次请求标识 | | `showapi_fee_num` | Number | 计费单元数(免费接口也计量) | | `showapi_res_body` | Object | 业务数据容器 | 1618-2(列表)业务字段: | 字段 | 类型 | 说明 | |------|------|------| | `contentlist` | Object[] | 题目数组,每项 `{question, answer}` | | `question` | String | 问题 | | `answer` | String | 答案 | | `allNum` | String | 题库总条数(实测约 11067) | | `allPages` | String | 总页数 | | `currentPage` | String | 当前页码 | | `maxResult` | String | 每页最大条数(实测默认约 12,服务端控制) | 1618-3(随机)业务字段: | 字段 | 类型 | 说明 | |------|------|------| | `list` | Object[] | 题目数组,每项 `{question, answer}` | | `remark` | String | 提示信息(如「查询成功」) | | `ret_code` | Number | 业务码,0 为成功 | ## 返回示例与解析 1618-3 实测返回(精简): ```json { "showapi_res_code": 0, "showapi_fee_num": 1, "showapi_res_body": { "list": [ {"question": "三个金鑫,三个水叫淼,三个人叫众,三个鬼叫什么?", "answer": "救命"} ], "remark": "查询成功", "ret_code": 0 } } ``` 注意:随机接口没有 `allNum`/`allPages` 等分页字段,解析时不要用列表接口的逻辑去读这些字段(会得到 `undefined`)。 ## 进阶 / 边界 - `maxResult` 的默认值文档未明确给出,实测 `page=1` 约返回 12 条,具体由服务端控制;代码不要硬编码"每页条数",以实际返回为准。 - `question`/`answer` 为纯文本,可能含换行或标点,前端展示时用 `white-space: pre-wrap` 更稳妥。 ## FAQ **Q1:为什么我读 `contentlist` 是空的?** 你可能在调随机接口(1618-3),它用的是 `list` 而非 `contentlist`。 **Q2:`ret_code` 和 `showapi_res_code` 有什么区别?** `showapi_res_code` 是系统级调用状态(0 成功);1618-3 额外返回业务级 `ret_code`(也在 body 内),正常也是 0。 **Q3:`allNum` 是会变的吗?** 题库由服务端维护,总量可能随运营调整,代码不要写死。 **Q4:免费接口的 `showapi_fee_num` 是什么?** 计费单元计数,免费接口也按档位计量,用于档位管控。 ## 相关能力 / 下一步阅读 - [脑筋急转弯两个接入点返回结构差异:contentlist 与 list 别搞混](https://www.showapi.com/guides/brainteaser-return-diff-1618) - [脑筋急转弯列表接口分页怎么用?page 参数与题库遍历指南](https://www.showapi.com/guides/brainteaser-pagination-1618) - [脑筋急转弯 API:5 分钟从注册到拿到第一道题](https://www.showapi.com/guides/brainteaser-quickstart-1618) - **本系列共 12 篇**:查看[脑筋急转弯 API 指南总目录](https://www.showapi.com/guides/brainteaser-guides-1618)