Flutter:如何从YouTube接口返回的JSON数据中提取视频标题字段
从接口返回结果中提取对应title字段的方法
你打印response.body得到的内容里,"是HTML实体转义的双引号,不能直接当作结构化JSON取值,按以下步骤操作即可正确提取:
- 先把带HTML转义的原始响应字符串还原为合法JSON文本,所有转义的
"会被替换为正常双引号 - 按照字段层级定位目标:title字段的完整取值路径为 根对象 →
items数组 → 数组内的元素 → 元素挂载的snippet对象 →snippet下的title字段
具体实现示例(Python场景)
import json from html import unescape # 还原HTML转义字符 raw_text = unescape(response.body) # 解析为结构化JSON对象 res_json = json.loads(raw_text) # 增加非空判断避免越界报错 if res_json.get("items"): target_title = res_json["items"][0]["snippet"]["title"] else: target_title = "未查询到对应视频信息"
实操注意点
- 不要直接硬截取字符串匹配title内容,响应里的描述、其他字段如果出现和
"title"重名的文本,很容易匹配错误 - 取
items数组元素前必须做非空判断,接口返回空数组时直接取[0]会触发索引越界错误 - 响应里
high层级的缩略图字段因为显示截断带省略号,不影响其他字段的正常解析
内容的提问来源于stack exchange,提问作者Daryl Wong
相关产品推荐
相关产品推荐

