У меня есть объект json, который выглядит так:
dic = {
"_id": "3cef538d-0199-477e-bbf7-2a0d26d92724",
"sID": "44155700-8476-4473-a636-685d6df021c5",
"tID": "c48ac367-8583-43d6-959e-90d25ba1887c",
"Type": "ParamData",
"Param": {
"SRT": [1589196207.91999],
"BFW": [False],
"INS": ["Matrix-M"],
"LWN": [15798],
"AN2": [0],
"CRR": [0],
"DUR": [4.97799682617188],
"SRN": ["336"],
"PKA": [-20704],
"SSP": [True],
"ABP": [32993],
"AN1": [0.221665252948623],
"PRL": [7278],
"VSN": ["2.240 Nov 16 2011"]}
}
Есть больше пар ключ: значение, но этого достаточно, чтобы понять, что внутри однозначных списков объекты имеют различные виды. Я создаю схему Marshmallow, и у меня есть следующее:
class PQMetaSchema(Schema):
_id = fields.Str()
spec_igID = fields.Str(data_key='Spec_IG')
paramID = fields.Str()
fields.B
Type = fields.Str(attribute='MetaData')
Properties = fields.Dict(keys=fields.Str(), values=fields.List())
Однако объект fields.List () в аргументе значений fields.Dict () ('Properties') требует, чтобы я передал a 'cls_or_instance', но я застрял, так как не могу передать ему ни список типов полей, ни один тип, поскольку типы различаются.
Кто-нибудь хочет вмешаться? :)