Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/331.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何确定一个json模式是否是另一个json模式的子集?_Python_Jsonschema_Python Jsonschema - Fatal编程技术网

Python 如何确定一个json模式是否是另一个json模式的子集?

Python 如何确定一个json模式是否是另一个json模式的子集?,python,jsonschema,python-jsonschema,Python,Jsonschema,Python Jsonschema,假设我有两个json模式——是否可以(在python或其他任何地方)确定一个模式是否是另一个模式的子集 我在两个json模式上寻找一个函数,当且仅当第一个json模式接受的每个实例也被第二个json模式接受时,该函数才会返回true 对于一个超级简单的示例,假设我的模式是 int_schema = {'type': 'integer'} num_schema = {'type': 'number'} 那我就 subset(int_schema, num_schema) = True subse

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

我在两个json模式上寻找一个函数,当且仅当第一个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模式是否支持这一点

到目前为止,我发现的唯一一个能满足您需求的项目是

当后端和前端通信时,考虑到JSON模式真的会大放异彩,Python实现(甚至是comand line实用程序)将非常有用,JavaScript不是最流行的后端语言,而是非常流行的前端语言

如果有人觉得有灵感,下推自动机将是完成这项任务的完美工具

另一种方法是为
num_模式
编写一个测试,并尝试根据它验证
int_模式
。元模式是自描述性的,您可以根据它们验证其他模式(因此元模式)