python的json模式验证的一个实现,分叉以避免依赖性问题

jsonschemanlplab的Python项目详细描述


PyPI versionSupported Python versionsTravis build statusAppVeyor build statusReadTheDocs status

这是一个https://github.com/Julian/jsonschema的叉,它仅用于规避依赖性不兼容。

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

>>>fromjsonschemanlplabimportvalidate>>># 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_DETAILTraceback(mostrecentcalllast):...ValidationError:'Invalid'isnotoftype'number'

也可以从控制台使用:

$ jsonschemanlplab -i sample.json sample.schema

功能

安装

jsonschemanlplabPyPI上可用。您可以使用pip

$ pip install jsonschemanlplab

发行说明

版本3.0支持草案7(和6)。重新定义的接口 还对类型进行了主要的检查,以支持对 验证程序将接受或允许的类型。

jsonschemanlplab现在也通过appveyor在windows下测试。

感谢所有一路上提出请求的人。

运行测试套件

如果您安装了tox(可能通过pip install tox或 包管理器),在源目录中运行tox。 签出将在所有版本上运行jsonschemanlplab的测试套件 python的jsonschemanlplab支持。如果你没有所有的 在jsonschemanlplab下测试的版本,您可能希望运行 使用tox--skip-missing-interpreters选项。

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

基准

jsonschemanlplab的基准使用perf

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

$ python -m perf jsonschemanlplab/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在使用mutator方法时遇到问题   java应用程序是否连接到服务器   java OutputStreamWriter不重写文件   java如何将捕获的异常与异步任务安卓中的标准异常进行比较?   java初始化和声明对象和方法   用于上传个人资料图片的java ActivityResultLauncher   如何检查Java字符串的第二个数字是否在1到5之间   googleappengine和Java版本   java如何获取eclipse tomcat配置文件夹路径?   在Android上使用GSON时出现java垃圾收集器问题   如何在java中逐层显示图像   JavaSpring数据规范动态条件   java Spring MongoDB在请求时非常慢   java如何在图像滑动视图上进行循环?   java我在函数中有一个空指针异常,不知道如何修复它   通过java运行的Cassandra Talend作业引发错误   java ConcurrentHashMap。initTable(),为什么检查表两次为空?