棉花糖:如何将字典或对象序列化为XML?

时间:2019-09-11 03:58:14

标签: python json xml marshmallow

我是Python Marshmallow模块的新手,非常喜欢它进行序列化和反序列化。我知道在定义架构之后,我可以使用schema.dumps方法轻松地将字典或对象序列化为JSON格式。

但是,我不知道如何将对象或字典序列化为JSON以外的其他格式。例如,有时我想将一个对象序列化为XML。

我在棉花糖的Github存储库中看到了this issue。通过玩名为json_module的东西似乎是可行的。但是,我真的不能跟随那个话题,因为我对棉花糖不熟悉。

从逻辑上讲,schema.dumps似乎是执行此操作的正确方法,但是从documentation来看,我看不到将数据序列化为JSON以外的任何其他格式的可能性。

如果有人能给我一个将字典转换为XML字符串的示例,我将不胜感激。

编辑:感谢您使用dicttoxml的答案。这是一个很好的模块,确实可以解决我的问题。但是,“输出格式控件”不是marshmallow的内置功能吗?虽然可以,但是我应该使用schema.dumps方法来控制输出格式吗?还是我错过了什么?

1 个答案:

答案 0 :(得分:1)

按照answer here。您总是可以使用库将json后期处理为xml。尝试dicttoxml

import json
from dicttoxml import dicttoxml
marshmallow_json_string = schema.dumps
marshmallow_dict = json.loads(marshmallow_json_string)
marshmallow_xml = dicttoxml(marshmallow_dict)