如何解码类包裹的JSON对象?无法访问类属性求助
解决方法
从打印结果来看,StatusV2是一个包裹了字典数据的类实例,直接通过.访问属性失败,说明它没有把字典键映射为实例属性,试试以下几种方法:
尝试字典式键访问
很多这类封装类会实现__getitem__方法,支持像字典一样取值:async def on_status(status_obj): status_symbol = status_obj['symbol'] status_message = status_obj['status_message'] print(status_symbol, status_message)查看实例的所有属性和方法
先打印实例的可用属性,找到存储字典数据的字段:async def on_status(status_obj): print(dir(status_obj))运行后会列出所有属性/方法名,比如如果看到
data、_data或_payload这类字段,就从里面取字典:# 假设内部数据存在data属性中 status_dict = status_obj.data status_symbol = status_dict['symbol']尝试转换为字典
部分封装类会提供to_dict()或类似方法,把实例转为字典:async def on_status(status_obj): status_dict = status_obj.to_dict() status_symbol = status_dict['symbol'] status_message = status_dict['status_message']检查是否有getter方法
有些类会为字段提供getter方法,比如:async def on_status(status_obj): status_symbol = status_obj.get_symbol() status_message = status_obj.get_status_message()
内容的提问来源于stack exchange,提问作者FirmCEO
相关产品推荐
相关产品推荐

