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

Python遍历JSON数组时出现AttributeError错误的原因及解决方法

嘿,我来帮你搞定这个问题!

错误原因解析

你遇到的AttributeError: 'list' object has no attribute 'values',核心原因是你把列表当成字典来用了:

  • 你的JSON文件最外层是方括号[],这代表它是一个数组结构,所以json.load(data_file)解析后得到的data是一个Python的列表(list)对象。
  • 而values()是Python字典(dict)特有的方法,用来获取字典里的所有值,列表根本没有这个属性,所以调用data.values()自然会报错。
解决办法

因为data是列表,里面的每个元素才是你要处理的字典,所以我们需要先遍历列表里的每个字典元素,再对字典进行操作。这里给你几种常用的处理方式:

方式1:打印每个字典里的所有值

如果你的需求是输出每个字典里的所有内容值,可以这样写:

import json
with open('final_result.json') as data_file:
    data = json.load(data_file)
# 先遍历列表中的每个字典项
for item in data:
    # 现在item是字典,调用values()就没问题了
    for v in item.values():
        print(v)

方式2:直接打印完整的字典对象

如果只是想查看每个完整的字典内容,直接遍历列表打印每个元素即可:

import json
with open('final_result.json') as data_file:
    data = json.load(data_file)
for item in data:
    print(item)

方式3:单独访问指定字段

如果需要针对性地获取某个字段(比如userID或message),可以直接通过键名访问:

import json
with open('final_result.json') as data_file:
    data = json.load(data_file)
for item in data:
    print(f"用户ID: {item['userID']}, 消息内容: {item['message']}")

内容的提问来源于stack exchange,提问作者Nayden Van

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.29 22:47:32