跳转到主要内容

Python的JSON Schema验证实现

项目描述

PyPI version Supported Python versions Build status ReadTheDocs status pre-commit.ci status Zenodo DOI

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从命令行使用。

特性

安装

jsonschema 可在 PyPI 上找到。您可以使用 pip 进行安装

$ pip install jsonschema

额外功能

安装包时,有两个额外功能可用,目前都与 格式 验证相关

  • format

  • format-nongpl

您可以在安装时使用它们来包含额外的依赖项,例如。

$ pip install jsonschema'[format]'

请注意,这些依赖项的存在——甚至是在模式中对 格式 检查的指定——都不会激活格式检查(如规范所述)。请参阅 格式验证文档 了解更多详情。

关于

我是 Julian Berman。

jsonschemaGitHub 上。

如果您有要贡献的内容,请通过 GitHub 或其他方式与我联系,这将非常受欢迎!

您通常可以在 Libera(昵称:Julian)的各个频道中找到我,包括 #python

如果您非常感激,您也可以 赞助我

对于欣赏 jsonschema 及其持续支持和发展的公司,jsonschema 现在也可以通过 TideLift 进行支持。

版本信息

v4.23.0

  • 不要重新排序作为验证错误一部分打印的字典(模式、实例)。

  • 声明支持 Py3.13

项目详情


发布历史 发布通知 | RSS 源

下载文件

下载适合您平台的文件。如果您不确定选择哪个,请了解有关 安装包 的更多信息。

源分布

jsonschema-4.23.0.tar.gz (325.8 kB 查看哈希值)

上传时间

构建分布

jsonschema-4.23.0-py3-none-any.whl (88.5 kB 查看哈希值)

上传时间 Python 3

支持者:

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误记录 StatusPage StatusPage 状态页面