严格检查JSON模式是否有效
项目描述
perfect-jsonschema
因为软验证还不够
为什么
JSON模式标准及其实现表明,如果您在模式中遇到不熟悉的内容,它不是错误。特别是,如果您不小心输入了错误或使用了您认为可以工作的内容,您不会收到错误。例如,这个是完美无缺且有效的
{
"required": ["company"],
"type": "object",
"propertie": {"company": {"pattern": "^(Apple)$"}, "format": "url"},
}
但我们要捕捉那些propertie
拼写错误和无效的url
格式。
该库依赖于jsonschema并支持忽略额外的关键词。
特性
从模式中推导出草案,并在以下情况下抛出jsonschema.SchemaError
异常:
- 模式为空
- 模式包含一个不是jsonschema实现或
extended_keywords
集合一部分的关键词 - 模式包含一个无效的格式值
- 模式在
jsonschema.check_schema()
中失败
使用方法
from perfect-jsonschema import check
try:
check(schema, extended_keywords={"tag"})
except Exception as e:
do_something()
异常示例
Traceback (most recent call last):
f"Schema contains invalid keywords for "
jsonschema.exceptions.SchemaError: Schema contains invalid keywords for https://json-schema.fullstack.org.cn/draft-07/schema#:
{'propertie', 'company'}
本地开发
pipenv install --dev
pipenv shell
tox
贡献
欢迎任何贡献
项目详情
下载文件
下载适用于您的平台文件。如果您不确定选择哪个,请了解更多关于安装包的信息。
源分发
perfect-jsonschema-2019.2.6.tar.gz (11.7 kB 查看哈希值)
构建版本
关闭
perfect-jsonschema-2019.2.6.tar.gz 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 441877f9a9ec32716715acc13b5c28f79a34f98f0823178b2d992fa95526bc00 |
|
MD5 | b2ce0966b1e0fb2f0543e4e551628997 |
|
BLAKE2b-256 | 987e1c6c39297d09363e88d53e9d805f0cf1bb39dde67a69801d162529b28207 |
关闭
perfect_jsonschema-2019.2.6-py3-none-any.whl 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 0dbb049a48eaa1636cacdd6119fd8e6425561fa7f9b028e926774b26517d7aa4 |
|
MD5 | c74163ab375872de781ca148ab657c84 |
|
BLAKE2b-256 | eac1de9bb485f2d7cf7e11ef27a291a80cf31fcc76db59e864d89f21333f656e |