首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >迭代dict中的对象以使用marshmallow进行序列化和打印

迭代dict中的对象以使用marshmallow进行序列化和打印
EN

Stack Overflow用户
提问于 2019-05-13 22:00:24
回答 1查看 315关注 0票数 0

当尝试将对象作为字典中的值进行迭代,并将这些对象传递给schema.dump(dev_obj)进行打印时,收到以下错误。

TypeError: dump()缺少1个必需的位置参数:'obj‘

能够成功地转储和打印单个对象实例,而不是在字典中,但不能重复成功迭代多个对象。

... #下面,单个实例运行良好

代码语言:javascript
运行
复制
test = MsnDevice()

schema = MsnDeviceSchema()

result = schema.dump(test)

pprint(result)

.

.#但是,当迭代一个dict时,设备对象是dict中的一个值,我得到了上面的错误#我已经验证了对象确实是被创建并存储在值中的

代码语言:javascript
运行
复制
schema = msn.MsnDeviceSchema

for device, dev_obj in msn_dict.items():

    device_json_string = schema.dump(dev_obj)

    pprint(device_json_string)

.

预期的结果是,我将能够打印每个对象。

EN

回答 1

Stack Overflow用户

发布于 2019-05-13 22:15:11

我找到了这个问题的解决方案,简而言之,一个打字错误。

在代码的dict迭代部分定义模式时,我没有在语句中包含'()‘:

.

代码语言:javascript
运行
复制
 # Incorrect
 schema = msn.MsnDeviceSchema

 # Corrected
 schema = msn.MsnDeviceSchema()
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56113990

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档