python中json模式验证的实现

jsonschema-extended的Python项目详细描述


PyPI versionSupported Python versionsTravis build statusAppVeyor build status

jsonschemaJSON Schema的实现 对于python(支持2.7+包括python 3)。

>>>fromjsonschemaimportvalidate>>># 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({"name":"Eggs","price":34.99},schema)>>>validate(...{"name":"Eggs","price":"Invalid"},schema...)# doctest: +IGNORE_EXCEPTION_DETAILTraceback(mostrecentcalllast):...ValidationError:'Invalid'isnotoftype'number'

也可以从控制台使用:

$ jsonschema -i sample.json sample.schema

功能

发行说明

版本2.6.0放弃了对Python2.6.x(ha)的支持,并包含 错误消息中的一些小改进,以及 ErrorTree

运行测试套件

如果您安装了tox(可能通过pip install tox或 包管理器),在源签出的目录中运行tox将 在所有python版本上运行jsonschema的测试套件jsonschema 支持。注意,您需要在 命令对每个测试运行测试,否则tox将跳过(并失败) 对那个版本的测试。

当然,您也可以使用 最喜欢的测试运行程序。测试存在于jsonschema.tests包中。

基准

jsonschema的基准使用perf

运行它们可以通过tox -e perf或通过调用perf 外部命令(在确保它和jsonschema本身都是 已安装):

$ python -m perf jsonschema/benchmarks/test_suite.py --hist --output results.json

要与上一次运行进行比较,请使用:

$ python -m perf compare_to --table reference.json results.json

有关详细信息,请参阅perf文档。

社区

有一个mailing list 对于这个在google上的实现。

请加入,并随时发送问题到那里。

贡献

我是朱利安·伯曼。

jsonschemaGitHub上。

通过Github或其他方式联系,如果你有什么要贡献的, 非常欢迎!

你也可以在freenode(nick:tos9)上找到我 频道,包括#python

如果你非常感激,你可以通过 谷歌支付与我的github配置文件的电子邮件。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java Spinner选定值未上载到firebase数据库   java如何通过bukkit中的配置添加消息?   java在SharedReference中保存列表的泛型类型   javascript Java小程序未定义   swt在Java中构建控制台应用程序   java OAuth同意屏幕没有突然显示,没有错误?   java webview选择文件安卓不工作   java Spring boot JPA如何从同一连接添加多个数据库?   java JDBC DB2驱动程序计时器线程处于阻塞状态   java我在vscode中运行flatter时看到一个错误在phone中运行应用程序somone能否帮助我plz   Java:生成JSON:如何避免生成不完整的JSON   java Date compareTo()方法始终返回1   当使用Junit runner运行测试时,java Spring自动连线失败   java Android/Sockets如何将信息从主UI线程发送到socket线程?   java Android内存声明全局变量   java如何在JBoss中拥有多个具有相同JNDI名称的数据源?   python在Java中嵌入CPython时,为什么会挂起?   java如何提供深度模拟对象?   java“find:smallint,expected:integer”Hibernate对informix数据库的验证在短时间内失败