Stu*_*ent 3 python validation pydantic
我想检查 JSON 字符串是否是有效的 Pydantic 架构。
from pydantic import BaseModel
class MySchema(BaseModel):
val: int
Run Code Online (Sandbox Code Playgroud)
我可以通过 try/ except 非常简单地做到这一点:
import json
valid = '{"val": 1}'
invalid = '{"val": "horse"}'
def check_valid(item):
try:
MySchema(**json.loads(item))
return True
except:
return False
print(check_valid(valid))
print(check_valid(invalid))
Run Code Online (Sandbox Code Playgroud)
输出:
True
False
Run Code Online (Sandbox Code Playgroud)
使用 try/ except 来获得真/假似乎是不好的做法。有没有更好的办法?
小智 7
import pydantic
class MySchema(pydantic.BaseModel):
val: int
MySchema.parse_raw('{"val": 1}')
MySchema.parse_raw('{"val": "horse"}')
Run Code Online (Sandbox Code Playgroud)
我认为这将是最简单的解决方案:)