TypeError: 'Welcome3'对象不可下标访问问题排查与解决
TypeError: 'Welcome3' object is not subscriptable 解决方法
错误原因
你通过工具生成的Python代码已经把JSON数据转换成了**Welcome3类的实例对象**,而非原始字典。Python里只有字典、列表这类可下标对象支持["key"]的访问方式,类实例必须用属性访问语法(.操作符)来获取成员变量。
正确的输出方式
方式1:直接访问类属性
Welcome3类在初始化方法中定义了data属性,直接通过.访问即可:
print(result.data)
如果需要查看data列表里的具体内容,可以遍历或直接访问单个元素:
# 遍历data列表中的所有项 for item in result.data: print(item.name) # 输出单个项的name属性 print(item.data.url) # 输出嵌套Data对象的url属性
方式2:转回字典后访问
如果需要回到字典格式,可调用Welcome3类的to_dict()方法,再用下标访问:
result_dict = result.to_dict() print(result_dict["data"])
补充说明
生成的代码中,每个类都实现了from_dict(字典转类实例)和to_dict(类实例转字典)方法,方便在对象与字典格式间切换。
内容的提问来源于stack exchange,提问作者KraKoff_
相关产品推荐
相关产品推荐

