![](/img/trans.png)
[英]How to match more regex options in the same Python function, with optional arguments?
[英]Python schema to match messages with optional arguments
我正在尝试使用 python 的模式或json 模式来验证带有嵌套字典和列表的字典:
message =
{"pagination":
{"page":1,"perPage":25},
"items":[{"id":1, "settings":[{"name":"name1","value":true}]},
{"id":2 ,"settings":[{"name":"name2","value":true}}]}
}
我需要进行以下验证:
如何让模式表现得更像正则表达式? (例如:我不知道下一条消息的项目可能包含“id”之上的哪些附加元素,但只要满足前三个条件 - 我希望它得到验证)。
例如,模式还必须识别以下消息:
message =
{"pagination":
{"page":1,"perPage":25},
"items":[{"id":1, "type": "A"},
{"id":2 ,"type": "B"}]}
}
这听起来像是 JSON Schema 的完美用例。 JSON 模式验证是减法的。 所有 JSON 文档都对空架构 ( {}
) 有效。 然后模式中的每个关键字都将所有 JSON 文档的集合限制为更有用的内容。 因此,您可以声明一个对象必须具有“id”属性,而不是明确声明允许任何其他属性,因为这只是 JSON Schema 的正常操作模式。
我几乎为您编写了这个非常简单的模式作为示例,但后来决定最好只是将您指向“理解 JSON 模式”,这样您就可以自己学习,而不是我为您提供解决方案。 但是,如果在阅读该教程后遇到困难,请提出另一个(更具体的)问题。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.