第一个数组元素的 JSON 模式验证

jba*_*ugh 5 jsonschema json-schema-validator

我有兴趣验证一些 JSON 逻辑来检查数组中第一个元素的某个值是否到位。如果可能的话,我想通过 JSON 模式来实现这一点。例如,我想检查第一个元素是否是“manager”:

  "employees": [
    {
      "manager": "Band35",
      "name": "Tom"
    },
    {
      "developer": "Band25",
      "name": "Kelly"
    },
    {
      "analyst": "Band25",
      "name": "Jack"
    }    
  ]
}
Run Code Online (Sandbox Code Playgroud)

Rel*_*ual 6

您可以使用items关键字来验证数组。

如果“items”是架构数组,则如果实例的每个元素都针对同一位置(如果有)的架构进行验证,则验证成功。

这意味着items: [firstSchema]如果您想检查数组中的第一项是否应该通过,则应该具有firstSchema.

例如,如果您希望数组中的第一项是特定字符串......

{
  "items": [
    {
      "type": "string",
      "const": "myFirstItemString"
    }
  ]
}
Run Code Online (Sandbox Code Playgroud)

要检查对象的特定属性名称,您需要使用propertyNames关键字

您可以使用https://jsonschema.dev轻松测试这一点