根据您定义的规则验证复杂的json数据

poseidon-rules的Python项目详细描述


波塞冬规则

根据您定义的规则验证复杂的json数据。在

这个图书馆的哲学

业务代码具有复杂的逻辑,并且它们可以被深度包装,所以我们需要一个DSL来在一个地方定义这些规则。在

每个逻辑都可以有两个basci关系,and或{},但是{}逻辑留给开发人员编写的规则评估。在

一旦一条规则不满足,整个逻辑规则将是错误的,调用帮助函数get_reason_stack将找到规则的最深名称,即RuleFail中包装的异常消息。在

规则是以dict格式定义的,这与Haskell lazy求值相比是糟糕的。因此,您可以将闭包函数传递给“must”或“else_must”,当“if”在运行时计算为true(“must”)或false(“else_must”)时,将调用该函数,而不是define time。此功能使您在某些情况下不必关心异常。在

使用

test

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java为游戏添加声音。需要帮助   java在获取数据时忽略模型类中的forign键映射   java为什么Microsoft JDBC驱动程序忽略failoverPartner主机名   java可以下载mozswing文件   java等价于ObjectOutputStream,不仅保存其状态,还保存整个对象?   Java Android LiveData根据其他LiveData调用房间查询   java如何使用jackson jsonNode实现这一点并获得所需的输出   在web服务器上作为web应用程序运行java应用程序?   groovy中java类的元类属性   返回空指针的java图形对象   标头中包含用户名和密码的java SOAP客户端请求   具有堆栈实现和递归的Hanoi算法塔(Java)   java当我运行这两个类时,我的老鼠不会移动   使用图像进行java相似图像搜索   Java8并行流机制   使用单例对象作为枚举元素的java Scala枚举,是否有可能对它们进行迭代?   java Webview更改高度大小   不可序列化对象和函数的java Spark Scala编程   java my app在eclipse中运行良好,而不是在jar中