假设我有两个json-schemas -是否可以(在python或其他任何地方)确定一个是另一个的子集?
我正在寻找两个json-schema上的函数,当且仅当第一个json-schema接受的每个实例也被第二个json-schema接受时,它才会返回true。
对于一个非常简单的示例,假设我的模式是
int_schema = {'type': 'integer'}
num_schema = {'type': 'number'}那我就会
subset(int_schema, num_schema) = True
subset(num_schema, int_schema) = False我并不关心这是不是python,我更关心的是json-schema是否支持它。
发布于 2020-04-30 18:42:50
到目前为止,我发现的唯一能满足您需求的项目是this Javascript implementation。
考虑到JSON模式在后端和前端通信时非常出色,而JavaScript不是最流行的后端语言,但它是一种非常流行的前端语言,Python实现(甚至是命令行实用程序)将非常有用。
如果有人觉得受到了启发,下推自动机将是完成这项任务的完美工具!
另一种方法是为num_schema编写一个meta schema,并尝试根据它验证int_schema。元模式是自描述的,您可以对照它们来验证其他模式(因此是元模式)。
https://stackoverflow.com/questions/56213094
复制相似问题