Marshmallow:如何将字典或对象序列化为 XML?
Marshmallow: How to serialize a dict or an object to XML?
我是 Python Marshmallow 模块的新手,非常喜欢它的序列化和反序列化。我知道在定义模式之后,我可以使用 schema.dumps
方法轻松地将字典或对象序列化为 JSON 格式。
但是,我想知道如何将对象或字典序列化为 JSON 以外的另一种格式。例如,有时我想将一个对象序列化为 XML.
我在 Marshmallow 的 Github 存储库中看到了 this issue。通过玩一些叫做 json_module
的东西似乎是可行的。但是,我不能真正关注该线程,因为我对 Marshmallow 还很陌生。
从逻辑上讲,schema.dumps
似乎是正确的方法,但是从 documentation 来看,除了 JSON,我没有看到将数据序列化为任何其他格式的可能性].
如果有人能给我一个将字典转换为 XML 字符串的示例,我将不胜感激。
编辑:感谢使用 dicttoxml
的回答。这是一个很好的模块,确实解决了我的问题。但是,"output formatt control" 不是 marshmallow
的内置功能吗?我虽然如果是,那么控制输出格式的支持应该在 schema.dumps
方法中?还是我错过了什么?
根据 answer here. You could always just post process the json to xml using a library. Try dicttoxml
import json
from dicttoxml import dicttoxml
marshmallow_json_string = schema.dumps
marshmallow_dict = json.loads(marshmallow_json_string)
marshmallow_xml = dicttoxml(marshmallow_dict)
我是 Python Marshmallow 模块的新手,非常喜欢它的序列化和反序列化。我知道在定义模式之后,我可以使用 schema.dumps
方法轻松地将字典或对象序列化为 JSON 格式。
但是,我想知道如何将对象或字典序列化为 JSON 以外的另一种格式。例如,有时我想将一个对象序列化为 XML.
我在 Marshmallow 的 Github 存储库中看到了 this issue。通过玩一些叫做 json_module
的东西似乎是可行的。但是,我不能真正关注该线程,因为我对 Marshmallow 还很陌生。
从逻辑上讲,schema.dumps
似乎是正确的方法,但是从 documentation 来看,除了 JSON,我没有看到将数据序列化为任何其他格式的可能性].
如果有人能给我一个将字典转换为 XML 字符串的示例,我将不胜感激。
编辑:感谢使用 dicttoxml
的回答。这是一个很好的模块,确实解决了我的问题。但是,"output formatt control" 不是 marshmallow
的内置功能吗?我虽然如果是,那么控制输出格式的支持应该在 schema.dumps
方法中?还是我错过了什么?
根据 answer here. You could always just post process the json to xml using a library. Try dicttoxml
import json
from dicttoxml import dicttoxml
marshmallow_json_string = schema.dumps
marshmallow_dict = json.loads(marshmallow_json_string)
marshmallow_xml = dicttoxml(marshmallow_dict)