如何从JSON数据中提取Img字段并解决string indices must be integers报错
报错原因
你出现string indices must be integers报错的核心原因是操作顺序错误:response.text是未解析的原始JSON字符串,字符串类型仅支持整数下标索引,不能直接用键名['Info']取值,必须先完成JSON解析再逐层提取字段。
正确实现代码
常规情况(接口返回的JSON无外层多余单引号)
绝大多数场景下接口返回的response.text不会包含示例里外层包裹的单引号,直接按如下步骤写即可:
import json # 1. 先将完整JSON字符串解析为Python字典 parsed_data = json.loads(response.text) # 2. 从字典中逐层提取Img字段 img_content = parsed_data["Info"]["Img"] print(img_content)
执行后输出结果为:A950-A.png
特殊情况(返回内容带外层单引号)
如果实际response.text确实包含示例里的外层单引号,需要先清理多余字符再解析:
import json # 先去除外层多余的单引号 clean_json = response.text.strip("'") parsed_data = json.loads(clean_json) img_content = parsed_data["Info"]["Img"] print(img_content)
内容的提问来源于stack exchange,提问作者user16993750
相关产品推荐
相关产品推荐

