我是Python Marshmallow模块的新手,非常喜欢它进行序列化和反序列化。我知道在定义架构之后,我可以使用schema.dumps
方法轻松地将字典或对象序列化为JSON格式。
但是,我不知道如何将对象或字典序列化为JSON以外的其他格式。例如,有时我想将一个对象序列化为XML。
我在棉花糖的Github存储库中看到了this issue。通过玩名为json_module
的东西似乎是可行的。但是,我真的不能跟随那个话题,因为我对棉花糖不熟悉。
从逻辑上讲,schema.dumps
似乎是执行此操作的正确方法,但是从documentation来看,我看不到将数据序列化为JSON以外的任何其他格式的可能性。
如果有人能给我一个将字典转换为XML字符串的示例,我将不胜感激。
编辑:感谢您使用dicttoxml
的答案。这是一个很好的模块,确实可以解决我的问题。但是,“输出格式控件”不是marshmallow
的内置功能吗?虽然可以,但是我应该使用schema.dumps
方法来控制输出格式吗?还是我错过了什么?
答案 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)