问题描述
我有一个要使用JSON模式进行验证的有效负载,但是在这种情况下,我不知道如何转换为模式。
假设我有这个对象:
{
jobs: [
{ title: "Developer",salary: "100",actual: false },{ title: "Plumber",salary: "200",actual: true },{ title: "Teacher",actual: false }
]
}
我想编写一个模式来验证如果jobs
数组中有对象,其中一个(只有一个)必须将actual
密钥设置为true
。
这可能吗?
解决方法
是的,有可能。您想使用“项目”,“包含”,“ minContains”和“ maxContains”关键字来建立模式,这些模式利用“ if” /“ then”功能编写条件语句。也就是说,使用伪代码:
- 我有一个具有属性“ jobs”的对象,其值必须是一个数组。 该数组中的
- 项是对象,它们具有名为
,“ salary”和“ actual”(具有每个值的特定类型)的属性。 。 - “工作”数组的零个项目,或者它必须包含一个正好具有属性名为“实际”的项目,值是值为true的常量。