使用OpenWeatherMap JSON时出现'daily' KeyError问题(Python、Flet)
解决OpenWeatherMap 'daily'字段KeyError问题
- 核对API请求的端点与参数:
- 若你调用的是每日预报相关API(比如One Call系列),要确认是否使用了正确的版本(v2.5和v3.0的响应结构差异较大),且请求参数里没通过
exclude排除daily字段。另外,部分daily数据需要付费套餐权限,免费版可能无法获取。
- 若你调用的是每日预报相关API(比如One Call系列),要确认是否使用了正确的版本(v2.5和v3.0的响应结构差异较大),且请求参数里没通过
- 打印完整响应排查结构:
- 先把接口返回的完整JSON打出来,确认实际返回的字段:
resp = _current.json() print(resp) - 很多时候不是字段消失了,而是结构变了——比如有些预报接口返回的是
list字段而非daily,或者daily嵌套在其他父字段下。
- 先把接口返回的完整JSON打出来,确认实际返回的字段:
- 调整字段访问路径:
- 根据打印出的实际结构修改代码,比如如果发现每日数据在
forecast下,就把原代码改成resp['forecast']['daily'][index]['weather'][0]['icon'];如果是list字段,就遍历list中对应时段的元素。
- 根据打印出的实际结构修改代码,比如如果发现每日数据在
内容的提问来源于stack exchange,提问作者GlowyStar
相关产品推荐
相关产品推荐

