如何从IMDB API返回的JSON中提取指定字段(如id)?
从JSON结果中提取特定字段(如id)
你提供的接口返回JSON里,results是一个数组类型的数据,每个数组元素是包含id等字段的对象。要提取id字段,只需先访问数组中的元素,再从元素对象中取出对应字段即可。
提取单个结果的id(比如第一个结果)
你的现有代码已经拿到了解析后的JSON对象b,只需修改最后一行,通过数组索引+字段名获取:
import requests movie = input("Movies:") base_url = f"https://imdb-api.com/en/API/SearchMovie/myapi/{movie}" r = requests.get(base_url) b = r.json() # 先检查是否有结果,避免索引错误 if b['results']: # 取第一个结果的id target_id = b['results'][0]['id'] print(target_id) else: print("未找到相关结果")
提取所有结果的id
如果接口返回多个结果,需要遍历整个results数组,逐个取出id:
import requests movie = input("Movies:") base_url = f"https://imdb-api.com/en/API/SearchMovie/myapi/{movie}" r = requests.get(base_url) b = r.json() # 遍历所有结果 for item in b['results']: print(item['id'])
关键说明
b['results']返回的是数组,因此需要用[索引](比如[0]表示第一个元素)来访问数组中的具体对象- 每个数组元素是字典结构,通过
['字段名'](比如['id'])即可提取对应的值 - 加入空结果判断可以避免当接口返回空数组时,出现索引越界的报错
内容的提问来源于stack exchange,提问作者Varga Ignacio
相关产品推荐
相关产品推荐

