小编The*_*gon的帖子

如何使用 Marshmallow 序列化嵌套字典?

我是棉花糖和烧瓶等的新手。我试图通过创建一个使用 jsonified python 字典的 API 来学习。该字典包含这样的嵌套字典。它还包含一些 Null 项目。

{
    "TITLE": "XXX",
    "NAME": "Mongoose",
    "TIME": "0430",
    "USED": null,
    "DESCRIPTION": "",
    "WEAPONS": {
        "HEAT": "Israel",
        "RADAR": "Flat",
        "CONV": {
            "S": true,
            "N": false,
            "A": false
         },
    },
}
Run Code Online (Sandbox Code Playgroud)

我只是想将其消费回字典类型。POST 操作类似这样

fields_schema = FieldSchema(many=True)
field_schema = FieldSchema()

json_data = request.get_json(force=True)
if not json_data:
    return {'message': 'No input data provided'}, 400
# Validate and deserialize input
try:
    data = field_schema.load(json_data)
except ValidationError as e:
    return e.messages, 422
Run Code Online (Sandbox Code Playgroud)

其中数据只是一个嵌套字典。

正是定义架构类给我带来了问题。据我所知,在定义架构时,marshmallow 没有 JSON 类型,当我使用 fields.Dict 时,出现以下错误: …

dictionary flask python-3.x flask-sqlalchemy marshmallow

4
推荐指数
1
解决办法
1万
查看次数