如何在Python中获取API返回JSON里items列表的长度
问题解决:'dict' object is not callable 错误处理
错误原因
你把解析API响应得到的字典evc_data当成函数调用了(用了()),但字典本身不是可调用对象,所以触发了这个错误。要获取字典里的items列表,得用字典的取值语法。
解决方法
方式1:直接用方括号取值
把evc_data('items')改成如下写法,直接通过键名获取对应列表:
items_list = evc_data['items'] print(len(items_list))
注意:如果API返回的JSON里没有items这个键,这种写法会抛出KeyError,需要额外做异常处理。
方式2:用get方法(更安全)
要是不确定items键是否存在,用字典的get方法更稳妥,不存在时会返回你指定的默认值(比如空列表):
items_list = evc_data.get('items', []) print(len(items_list))
完整示例代码
结合API请求的完整流程,修正后的代码大概是这样:
import requests # 发送GET请求获取API数据 response = requests.get("你的API接口地址") response.raise_for_status() # 确保请求成功,失败则抛出异常 # 把JSON响应解析为Python字典 evc_data = response.json() # 获取items列表并打印长度 items_list = evc_data['items'] print(f"items列表的长度是:{len(items_list)}")
内容的提问来源于stack exchange,提问作者mac
相关产品推荐
相关产品推荐

