Питон - Цербер, jsonschema, сладострастный - Какой из них будет уместным?

Я разрабатываю небольшое веб-приложение RESTful на Python и использую JSON в качестве интерфейса. Приложение принимает данные JSON и должно проверять их на соответствие схеме. Схема может быть очень строгой или гибкой в ​​зависимости от запроса. Кроме того, приложению может потребоваться проверка пользовательских объектов при последующем улучшении.

Я нашел некоторые предложения по переполнению стека, а также на других сайтах. Те включают

Но не смог найти правильного сравнения.

С точки зрения простоты, гибкости и расширяемости, какой, по вашему мнению, я должен выбрать?

Цербер, кажется, очень гибок, а способность к расширению кажется очень хорошей из их документации и примеров. Но я не знаю о других библиотеках.

РЕДАКТИРОВАТЬ 1: На данный момент потребности приложения довольно просты, и будет достаточно базовой проверки схемы с возможностью добавления пользовательских типов и пользовательских правил проверки. Так что, если все эти библиотеки предлагают базовые требования, я бы выбрал самую простую в использовании. Также я открыт для других предложений, если таковые имеются.

Надеюсь найти помощь.

1 ответ

Решение

Тогда я бы взял Цербер хотя бы за его замечательную документацию. Он позволяет устанавливать зависимости в соответствии с определенными условиями ( http://docs.python-cerberus.org/en/stable/validation-rules.html) и, безусловно, настолько прост для базовых потребностей проверки схемы, на которые вы ссылаетесь. как jsonschema, сладострастный и т.д..

Также поддерживаются вложенные поля (во всех библиотеках, с которыми я знаком), и их документы по настройке просто потрясающие: http://docs.python-cerberus.org/en/stable/customize.html

При этом я не основываю этот ответ на использовании всех трех предложенных пакетов, а скорее на широком использовании jsonschema и чтении достаточного количества документации и рекомендаций по двум другим.

Другие вопросы по тегам