Javascript 给定两个JSON模式,一个是from模式,一个是to模式,我需要一种方法来确保from模式满足to模式
例如,以下内容是有效的,因为to模式指定了一个项目数组,每个项目都有一个年龄和一个标题字段,而from模式指定了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'
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']”的子集。