Python - Cerberus、jsonschema、voluptous - 哪个合适?

Python - Cerberus, jsonschema, voluptous - Which one will be appropriate?

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

我在 stack overflow 和其他网站上找到了一些建议。其中包括

但找不到合适的比较。

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

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

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

希望得到一些帮助。

如果只是因为它的精彩文档,我会选择 Cerberus。它允许根据特定条件 (http://docs.python-cerberus.org/en/stable/validation-rules.html#dependencies) 设置依赖关系,并且对于基本模式验证需求来说肯定很简单,您将其称为 jsonschema、性感等。

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

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