python - 如何在棉花糖中设置 JSON 编码器?

标签 python json

如何覆盖使用 marshmallow 的 JSON 编码器库,以便它可以序列化 Decimal字段?我想我可以通过覆盖 json_module 来做到这一点在基地SchemaMeta课,但我不知道如何:

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/

相关文章:

python - Django - form_valid() 与 save()

python - 如何使用 Keras 手动更新权重

java - 如何从 jsonArray 获取相同的字段

json - 如何使用 JMSSerializer 将 Symfony 中的表单错误作为 JSON 对象获取

java - 如何使用 Jackson 排除父类(super class)属性

python - 导出带有完整数据的图或另存为脚本

ffmpeg - 重新着色图像

python - 带有 unicode 字符的字典键会引发错误

python - 如何使用 Elasticsearch 和Python有效地索引json文件?

java - 解析 JSON 时,出现奇怪的异常::This is not a JSON Array