Я определил POST-вызов, для которого нужны данные:
{
"one" : "hello",
"two" : "world",
"three" : {
"abc": "123",
"def": false
}
}
Для этого я могу определить one
и two
, но не уверен, какое право было определить three
.Как я могу указать поле JSON во Flask.Я могу определить основные поля, такие как:
from marshmallow import Schema, post_load, fields
class Foo(object):
def __init__(self, one, two=None):
self.one = one
self.two = two
class MySchema(Schema):
one = fields.String(required=True)
two = fields.String()
@post_load
def create_foo(self, data):
return Foo(**data)
Как мне определить three
в MySchema
?Должен ли я:
- просто поместить его как строку и выполнить манипуляции, чтобы загрузить его как json, используя
json.loads()/json.dumps()
?Или есть способ определить его правильно? - определить его как
fields.Dict
? - Могу ли я определить отдельное
Schema
для этого поля - , если мне нужно расширить
field.Field
?
Я смотрю на https://marshmallow.readthedocs.io/en/3.0/api_reference.html,, но все еще не уверен.Подполе JSON или вложенный JSON кажется обычным вариантом использования, но я не могу найти что-либо подходящее по этому вопросу.Любая помощь приветствуется!