如何将JSON响应指定字段存入变量?Python调用API遇报错
解决Mangadex API提取filename时的"string indices must be integers"错误
错误原因:你把API响应转成了字符串类型(比如用了
response.text),字符串只能用整数下标访问单个字符,没法用['filename']这种字典键来取值,所以触发报错。正确处理方式:不要将响应转为字符串,直接用请求库的
json()方法把API响应解析成Python字典。以requests库为例:
import requests import json # 调用API获取《Prison School》数据 response = requests.get("https://api.mangadex.org/manga?title=Prison School") # 直接解析响应为字典,而非字符串 manga_data = response.json() # 注意:Mangadex的响应是嵌套结构,需根据实际层级提取字段 # 示例路径(请以实际API返回结构为准) filename = manga_data['data'][0]['attributes']['coverArt']['filename'] print(filename)
- 额外提示:可以先打印完整的响应结构确认字段位置,比如:
print(json.dumps(manga_data, indent=2))
这样能清晰看到filename所在的嵌套层级,避免因路径错误再次出问题。
内容的提问来源于stack exchange,提问作者Samurai6465
相关产品推荐
相关产品推荐

