3

假设我有两个 json 模式 - 是否有可能(在 python 或其他任何地方)确定一个是否是另一个的子集?

我正在寻找一个关于两个 json 模式的函数,当且仅当第一个 json 模式接受的每个实例也被第二个接受时才会返回 true。

对于一个超级简单的例子,假设我的模式是

int_schema = {'type': 'integer'}
num_schema = {'type': 'number'}

然后我会有

subset(int_schema, num_schema) = True
subset(num_schema, int_schema) = False

真的不在乎这是python,我更想知道json-schema是否支持这一点。

4

1 回答 1

0

到目前为止,我发现的唯一符合您要求的项目就是这个 Javascript 实现

考虑到 JSON Schema 在后端和前端通信时确实大放异彩,并且 JavaScript 不是最流行的后端语言,但它是一种非常流行的前端语言,Python 实现(甚至是命令行实用程序)将非常有用。

如果有人在那里受到启发,下推自动机将是完成该任务的完美工具!

另一种方法是为 编写元模式num_schema并尝试针对它进行验证int_schema。元模式是自我描述的,您可以针对它们验证其他模式(因此meta)。

于 2020-04-30T10:42:49.923 回答