Python的JSON Schema验证实现
项目描述
jsonschema 是Python的JSON Schema规范的实现。
>>> from jsonschema import validate
>>> # A sample schema, like what we'd get from json.load()
>>> schema = {
... "type" : "object",
... "properties" : {
... "price" : {"type" : "number"},
... "name" : {"type" : "string"},
... },
... }
>>> # If no exception is raised by validate(), the instance is valid.
>>> validate(instance={"name" : "Eggs", "price" : 34.99}, schema=schema)
>>> validate(
... instance={"name" : "Eggs", "price" : "Invalid"}, schema=schema,
... ) # doctest: +IGNORE_EXCEPTION_DETAIL
Traceback (most recent call last):
...
ValidationError: 'Invalid' is not of type 'number'
也可以通过安装check-jsonschema从命令行使用。
特性
完全支持Draft 2020-12、Draft 2019-09、Draft 7、Draft 6、Draft 4和Draft 3
懒式验证,可以逐个报告所有验证错误。
编程查询哪些属性或项目未通过验证。
安装
jsonschema 可在 PyPI 上找到。您可以使用 pip 进行安装
$ pip install jsonschema
额外功能
安装包时,有两个额外功能可用,目前都与 格式 验证相关
format
format-nongpl
您可以在安装时使用它们来包含额外的依赖项,例如。
$ pip install jsonschema'[format]'
请注意,这些依赖项的存在——甚至是在模式中对 格式 检查的指定——都不会激活格式检查(如规范所述)。请参阅 格式验证文档 了解更多详情。
关于
我是 Julian Berman。
jsonschema 在 GitHub 上。
如果您有要贡献的内容,请通过 GitHub 或其他方式与我联系,这将非常受欢迎!
您通常可以在 Libera(昵称:Julian)的各个频道中找到我,包括 #python。
如果您非常感激,您也可以 赞助我。
对于欣赏 jsonschema 及其持续支持和发展的公司,jsonschema 现在也可以通过 TideLift 进行支持。
版本信息
v4.23.0
不要重新排序作为验证错误一部分打印的字典(模式、实例)。
声明支持 Py3.13
项目详情
下载文件
下载适合您平台的文件。如果您不确定选择哪个,请了解有关 安装包 的更多信息。
源分布
jsonschema-4.23.0.tar.gz (325.8 kB 查看哈希值)
构建分布
jsonschema-4.23.0-py3-none-any.whl (88.5 kB 查看哈希值)
关闭
jsonschema-4.23.0.tar.gz 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | d71497fef26351a33265337fa77ffeb82423f3ea21283cd9467bb03999266bc4 |
|
MD5 | a2cb5fee4da011118708ab275b34f30b |
|
BLAKE2b-256 | 382e03362ee4034a4c917f697890ccd4aec0800ccf9ded7f511971c75451deec |
关闭
jsonschema-4.23.0-py3-none-any.whl 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | fbadb6f8b144a8f8cf9f0b89ba94501d143e50411a1278633f56a7acf7fd5566 |
|
MD5 | be79227c146cfb34935b5bacaafb47fa |
|
BLAKE2b-256 | 694a4f9dbeb84e8850557c02365a0eee0649abe5eb1d84af92a25731c6c0f922 |