Javascript 给定两个JSON模式,一个是from模式,一个是to模式,我需要一种方法来确保from模式满足to模式

Javascript 给定两个JSON模式,一个是from模式,一个是to模式,我需要一种方法来确保from模式满足to模式,javascript,json,schema,jsonschema,Javascript,Json,Schema,Jsonschema,例如,以下内容是有效的,因为to模式指定了一个项目数组,每个项目都有一个年龄和一个标题字段,而from模式指定了additionalProperties标志所允许的相同字段(以及其他字段) 从模式: { "$schema": "http://json-schema.org/draft-04/schema#", type: 'array', items: { type: 'object', required: ['imageUrl', 'title'

例如,以下内容是有效的,因为to模式指定了一个项目数组,每个项目都有一个年龄和一个标题字段,而from模式指定了
additionalProperties
标志所允许的相同字段(以及其他字段)

从模式:

{
    "$schema": "http://json-schema.org/draft-04/schema#",
    type: 'array',
    items: {
      type: 'object',
      required: ['imageUrl', 'title', 'age'],
      properties: {
         color: {
           type: 'string'
         }
         imageUrl: {
           type: 'string',
         },
         title: {
           type: 'string'
         },
         age: {
           type: 'number'
         }
      }
    }
}
架构

{
    "$schema": "http://json-schema.org/draft-04/schema#",
    type: 'array',
    items: {
      type: 'object',
      additionalProperties: true,
      required: ['age', 'title'],
      properties: {
         title: {
           type: 'string'
         },
         age: {
           type: 'number'
         }
      }
    }
}
使用JavaScript执行这种比较的正确方法是什么


注意:我不是在寻找验证JSON文件的方法。我需要一种方法来检查将由from模式成功验证的文件是否也满足to模式。

是否可以嵌套
项?@RobertHarvey谢谢。我原以为会有更标准化的方法来实现这一点,但我想这会让我走到同一个地方。@JohanP不幸的是,它们可以是任何有效的JSON模式。@RobertHarvey该库存在问题,因为它要求所有数组项都具有相同的键,才能将其视为子集,所以
['a','c']
不被视为“['a'、'b'、'c']”的子集。
项可以嵌套吗?@RobertHarvey谢谢。我原以为会有更标准化的方法来实现这一点,但我想这会让我走到同一个地方。@JohanP不幸的是,它们可以是任何有效的JSON模式。@RobertHarvey该库存在问题,因为它要求所有数组项都具有相同的键,才能将其视为子集,所以
['a','c']
不被视为“['a'、'b'、'c']”的子集。