【发布时间】:2022-07-09 16:45:05
【问题描述】:
您好,我正在阅读以下格式的 JSON
{
"1": {"id":1, "type": "a"}
2: {"id":2, "type": "b"}
"3": {"id":3, "type": "c"}
"5": {"id":4, "type": "d"}
}
如您所见,键是数字,但不是连续的
所以我有以下 BaseModel 到嵌套的字典
@validate_arguments
class ObjI(BaseModel):
id: int
type: str
问题是我如何验证字典中的所有项目都是 ObjI 而不使用
objIs = json.load(open(path))
assert type(objIs) == dict
for objI in objIs.values():
assert type(objI) == dict
ObjI(**pair)
我试过了
@validate_arguments
class ObjIs(BaseModel):
ObjIs: Dict[Union[str, int], ObjI]
编辑
验证之前的错误是
在 pydantic.validators.find_validators 类型错误:issubclass() arg 1 必须是一个类
这可能吗?
谢谢
【问题讨论】: