技术博客
十万个为什么 API:如何优雅展示 title 与 content 科普内容?

十万个为什么 API:如何优雅展示 title 与 content 科普内容?

作者: 万维易源
2026-09-02
十万个为什么 APIcontent展示前端排版科普内容免费接口
# 十万个为什么 API:如何优雅展示 title 与 content 科普内容? > 接口:十万个为什么(apiCode=1706)· 接入点:详情(1706-2) · 免费 · 返回格式:JSON · 适用人群:前端 / 全栈开发者 · 阅读时间:约 6 分钟 ## 核心要点 - 详情返回 `title`(标题)与 `content`(**整段科普文本字符串**),没有独立的段落、图片或视频 URL 字段。 - 优雅展示的关键是:把 `content` 当"纯文本长文"处理——分段、加标题层级、控制行长与字号,而不是当数组遍历。 - 文档称"提供文章、视频等多媒体内容",但**未给出独立视频字段**,具体多媒体结构以实际返回为准,不要预设字段名。 ## Why:为什么展示也是一门学问 很多开发者拿到 `content` 直接 `innerHTML` 一把梭,结果一段密密麻麻的文字挤在屏幕里,孩子和家长都不爱看。其实只要做一点排版,阅读体验能提升一大截。本篇给可直接用的前端处理思路。 ## What:字段回顾 | 字段 | 类型 | 展示方式 | |------|------|---------| | `title` | string | 作为文章大标题(H1/H2) | | `content` | string(整段) | 正文长文本,需自行分段 | ## How:前端排版示例 **步骤 1 — 拿到数据(以详情接入点为例)** ```javascript const APP_KEY = "YOUR_APPKEY"; const res = await fetch( `https://route.showapi.com/1706-2?appKey=${APP_KEY}`, { method: "POST", headers: { "content-type": "application/x-www-form-urlencoded" }, body: new URLSearchParams({ id: "5bac6e8ec1b458bb0892f6ff" }), } ); const body = (await res.json()).showapi_res_body; const { title, content } = body; ``` **步骤 2 — 把整段文本按句号切分为自然段落** ```javascript // content 是一整段字符串,按句号/问号/叹号切分后渲染为段落 function toParagraphs(text) { return text .split(/(?<=[。!?])/) .map((s) => s.trim()) .filter(Boolean); } ``` **步骤 3 — 渲染** ```jsx <article> <h1>{title}</h1> {toParagraphs(content).map((p, i) => ( <p key={i}>{p}</p> ))} </article> ``` > 也可用 CSS `line-height`、`max-width` 控制阅读舒适度;儿童场景建议字号稍大、行距宽松。 ## 返回示例与解析 ```json { "showapi_res_body": { "ret_code": 0, "remark": "查询成功!", "title": "为什么无声手枪射击时没声音?", "content": "在无声手枪的枪管上套有一个圆筒形的消音器,能把从枪口里喷出的大部分高压气体消耗掉……" } } ``` `content` 是**一整段字符串**,不是数组,渲染时整体处理。 ## 进阶 / 边界 - **不要预设图片/视频字段**:文档只说"提供文章、视频等多媒体内容",未定义 `imageUrl`/`videoUrl` 之类字段;若返回中确实带媒体信息,以实际 JSON 为准再决定如何渲染。 - **敏感/适龄**:科普内容面向儿童时,建议先做一遍家长侧审核或简化,接口不提供年龄段过滤。 - **长文性能**:`content` 通常为中短篇,直接渲染即可;如要做"朗读""划词"等增强,可基于文本自行分词。 ## FAQ **Q1:content 里有图片链接吗?** 文档未定义独立图片字段,不要假设存在 `img` 字段;以实际返回 JSON 为准。 **Q2:能把 content 当数组遍历吗?** 不能,它是整段字符串,需自行按标点分段。 **Q3:视频内容怎么展示?** 文档称有多媒体内容但未给视频字段,实际结构以接口返回为准,不要硬编码视频 URL。 **Q4:title 能作为页面 H1 吗?** 可以,也建议同时用于页面 `<title>` 利于 SEO。 **Q5:中文标点分段的正则可靠吗?** 对绝大多数科普正文足够;如遇到无标点长段,可退化为整段展示。 ## 相关能力 / 下一步阅读 - [十万个为什么 API 返回字段全解:ret_code / contentlist / content 一文读懂](https://www.showapi.com/guides/why100k-response-fields-1706) - [十万个为什么 API:列表→详情两接入点串联的全链路设计](https://www.showapi.com/guides/why100k-list-detail-flow-1706) - [十万个为什么 API 家长辅助教育场景:儿童科学问答小程序集成](https://www.showapi.com/guides/why100k-kids-education-1706) - **本系列共 11 篇**:查看[十万个为什么 API 指南总目录](https://www.showapi.com/guides/why100k-guides-1706)