Python - Cerberus,jsonschema,性感 - 哪一个适合?

Abh*_*Dey 12 python jsonschema voluptuous json-schema-validator cerberus

我正在python中开发一个小型RESTful Web应用程序,并使用JSON作为接口.应用程序接受JSON数据,需要根据模式验证它们.根据请求,模式可能非常严格或灵活.此外,应用程序可能需要在稍后的改进中验证用户对象.

我在堆栈溢出以及其他网站上找到了一些建议.那些包括

但找不到合适的比较.

在简单性,灵活性和扩展能力方面,您认为我应该选择哪一个?

Cerberus似乎非常灵活,扩展能力从他们的文档和示例中看起来非常好.但我不知道其他图书馆.

编辑1:目前,应用程序的需求非常简单,基本的模式验证以及添加自定义类型和自定义验证规则的范围就足够了.因此,如果所有这些库都提供了基本要求,我会选择最简单的库.如果有的话,我也愿意接受其他建议.

希望能找到一些帮助.

nir*_*r0s 7

如果只是因为它的精彩文档我会采取Cerberus.它允许根据特定条件(http://docs.python-cerberus.org/en/stable/validation-rules.html#dependencies)设置依赖关系,并且对于您所指的基本模式验证需求来说当然很简单如jsonschema,妖娆等.

也支持嵌套字段(在我熟悉的所有库中),并且它们的自定义文档非常棒:http://docs.python-cerberus.org/en/stable/customize.html

话虽这么说,我不是基于使用所有三个提议的包而是基于广泛使用jsonschema并在其他两个上阅读足够的文档和建议.