Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/327.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python MarshallLow数据类引发验证异常_Python_Marshmallow_Python Dataclasses_Python 3.7 - Fatal编程技术网

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\”}