如何覆盖使用 marshmallow 的 JSON 编码器库,以便它可以序列化 Decimal
字段?我想我可以通过覆盖 json_module
来做到这一点在基地Schema
或 Meta
课,但我不知道如何:
https://github.com/marshmallow-code/marshmallow/blob/dev/marshmallow/schema.py#L194
我搜索了所有文档并阅读了代码,但我不是 Python 本地人。
最佳答案
如果你想序列化一个 Decimal
字段(并将值保留为数字),您可以覆盖 Marshmallow 在其 dumps()
中使用的默认 json 模块。调用使用simplejson
反而。
为此,只需添加 class Meta
定义到您的模式,并指定 json_module
这个类的属性。
例子:
import simplejson
class MySchema(Schema):
amount = fields.Decimal()
class Meta:
json_module = simplejson
然后,序列化:
my_schema = MySchema()
my_schema.dumps(my_object)
关于python - 如何在棉花糖中设置 JSON 编码器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35896836/