我正在使用fastjsonschema来验证json记录根据其架构。 像这样的事情:
import fastjsonschema
validate = fastjsonschema.compile({'type': 'string'})
validate('hello')
如果 json 有效,则返回 json 字符串,否则返回错误字符串。我只想检查 json 是否有效。为此,我可以做一个比较验证方法和 json 输入的输出的解决方法。
但我想要一些更干净的东西。可能是像Unix中的"$?"或更好的东西。
你能推荐我吗?
从文档中来看,在出现错误时似乎会抛出两种不同的异常:
- JsonSchemaDefinitionException,当定义不好时
- JsonSchemaException,当数据与定义不匹配时
在 Python 中,你可以简单地包装它,尝试一下......除了像这样阻止:
try:
validate = fastjsonschema.compile({'type': 'string'})
validate(1)
except (fastjsonschema.JsonSchemaException, fastjsonschema.JsonSchemaDefinitionException):
print("Uh oh ...")