Json模式验证数组中的属性名称

时间:2016-10-31 15:20:43

标签: json jsonschema json-schema-validator

我有这个json对象

{
  "status": 68,
  "error": [
    {
      "description_ru": "Ошибка авторизации. Пожалуйста, проверьте правильность введенных e-mail и пароля."
    },
    {
      "description_en": "Authorization error. Please check login and password."
    }
  ]
}

然后我写下json schema

{
  "title": "Неверно указан пароль",
  "type": "object",
  "properties":{
    "status":{
      "description": "Статус операции",
      "type": "integer"
    },
    "error":{
      "description":"Информация об ошибке на разных языках",
      "type": "array",
      "items": {
        "properties":{
          "description_ru":{
            "description": "Информация об ошибке на русском языке",
            "type": "string"
          },
          "description_en":{
            "description": "Информация об ошибке на английском языке",
            "type": "string"
          }
        }
      }
    }
  },
  "required":["status", "error"],
  "additionalProperties": false
}

我有下一个问题。如果我将json架构中的名称错误更改为错误编辑并运行验证,则会出现下一个错误:

  

false架构中不存在属性错误

好的,它很完美!

但是,如果我将json架构 description_en 中的数组错误中的属性名称更改为 * description_en-edited 并运行验证,那么我就不会收到错误

请告诉我为什么会这样?

1 个答案:

答案 0 :(得分:0)

因为"错误"是必需的,但" description_en"不是。

添加" additionalProperties"到项目中的对象:

values