AJV 多级/嵌套 JSON 架构验证



使用架构

{
  "type": "object",
  "required": [     
      "person", 
      "animal"
  ],
  "person": {
      "title": "person",
      "type": "object",
      "required": [
          "name"
      ],
      "properties": {
         "name": {
            "type": "string"
         }
      }
  },
  "animal": {
    "title": "animal",
    "type": "object",
    "properties": {
        "name": {
            "type": "string"
        }
    }
  }
}

此架构在与此对象进行比较时有效

{
  "person": 0, 
  "animal": "dog"
}

我只希望它验证 person 对象中的属性(因为它也有必需的属性)。例如,只有以下内容有效:

{
  "person": {
     "name": "myName"
  },
  "animal": "dog"
}

如何确保使用 AJV 在我的架构中验证嵌套对象?

在架构中,您需要将animalperson放在properties对象中。

目前,由于这些属性键不在 properties 对象中,因此它们被归类为未结关键字并被忽略。

否则,是的,你有这个正确。

相关内容

  • 没有找到相关文章

最新更新