Python MarshallLow数据类引发验证异常
我有一个简单的例子:Python MarshallLow数据类引发验证异常,python,marshmallow,python-dataclasses,python-3.7,Python,Marshmallow,Python Dataclasses,Python 3.7,我有一个简单的例子: from dataclasses import dataclass import marshmallow_dataclass @dataclass class Tst: fld: str if __name__ == "__main__": objct = marshmallow_dataclass.class_schema(Tst)().load("{\"fld\":\"value\"}") 我希望这会从JSON中反序列化一个对象,但结果如下: O
from dataclasses import dataclass
import marshmallow_dataclass
@dataclass
class Tst:
fld: str
if __name__ == "__main__":
objct = marshmallow_dataclass.class_schema(Tst)().load("{\"fld\":\"value\"}")
我希望这会从JSON中反序列化一个对象,但结果如下:
Original exception was:
Traceback (most recent call last):
File "./main.py", line 13, in <module>
objct = marshmallow_dataclass.class_schema(Tst)().load("\"fld\":\"value\"")
File "/home/krjoff/.local/lib/python3.7/site-packages/marshmallow/schema.py", line 720, in load
data, many=many, partial=partial, unknown=unknown, postprocess=True
File "/home/krjoff/.local/lib/python3.7/site-packages/marshmallow/schema.py", line 898, in _do_load
raise exc
marshmallow.exceptions.ValidationError: {'_schema': ['Invalid input type.']}
原始异常是:
回溯(最近一次呼叫最后一次):
文件“/main.py”,第13行,在
objct=marshmallow\u dataclass.class\u模式(Tst)().load(“\“fld\”:\“value\”)
文件“/home/krjoff/.local/lib/python3.7/site packages/marshmallow/schema.py”,第720行,已加载
数据,多=多,部分=部分,未知=未知,后处理=真
文件“/home/krjoff/.local/lib/python3.7/site packages/marshmallow/schema.py”,第898行,加载
加薪
marshmallow.exceptions.ValidationError:{“U架构”:[“无效输入类型”。]}
有人能建议如何解决这个问题吗?使用
load
,而不是load
loads
用于json,load
用于python列表或目录。@snakecharmerb非常感谢。这就是问题所在。但是“\'fld\”:“value\”
不是有效的json字符串表示形式。它必须是{“fld\”:“value\”}
使用加载
,而不是加载
loads
用于json,load
用于python列表或目录。@snakecharmerb非常感谢。这就是问题所在。但是“\'fld\”:“value\”
不是有效的json字符串表示形式。它必须是{“fld\”:“value\”}