16

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

我在堆栈溢出以及其他网站上发现了一些建议。这些包括

但找不到合适的比较。

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

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

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

希望能得到一些帮助。

4

1 回答 1

8

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

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

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

于 2017-03-07T07:43:08.040 回答