You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何读取JSON对象中list列表内的嵌套字段并解决KeyError报错

报错原因

json_load['list']的返回值是列表(数组)类型,不是字典类型,不支持直接通过键名取值。你能正常读取json_load['city']['coord'],是因为city字段对应的值直接是字典结构,支持按键名索引;而list字段的值是用[]包裹的有序条目集合,必须先通过下标定位到具体的条目字典,才能继续按键取内部字段。

正确读取方法
  • 读取指定位置条目的字段
    Python列表下标从0开始计数,要取第1条预报数据里的feels_like、temp,写法如下:
    # 取list中第1条(下标0)的main节点
    main_data = json_load['list'][0]['main']
    # 读取体感温度feels_like
    feels_like = main_data['feels_like']
    # 读取温度temp
    temp = main_data['temp']
    print(feels_like, temp)
    
  • 批量读取所有条目的字段
    数据中cnt字段值为40,代表list数组内共存储40条预报数据,需要读取所有条目的对应字段时直接遍历列表即可:
    for forecast_item in json_load['list']:
        feels_like = forecast_item['main']['feels_like']
        temp = forecast_item['main']['temp']
        print(f"体感温度: {feels_like}, 实时温度: {temp}")
    

额外提示:单条预报条目里的weather字段同样是列表类型,读取天气描述、天气图标这类字段时也需要先加下标定位,例如读取第一条条目的天气描述写法为json_load['list'][0]['weather'][0]['description']

内容的提问来源于stack exchange,提问作者Kelvin de Reus

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.27 19:57:10