验证架构是有效的JSON架构而不是数据

时间:2018-03-28 11:29:05

标签: java json validation schema jsonschema

我必须向客户提供上传自己的JSON模式的可能性。

有没有办法验证用户提供的JSON Schema是否是有效的JSON Schema而不仅仅是数据?

我在这个库中使用Java https://github.com/networknt/json-schema-validator

更新:

我有以下架构:

{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "title": "car",
  "description": "representation of car",
  "type": "object",
  "required": [
    "id",
    "make",
    "age",
    "model",
    "mileage",
    "fuel"
  ],
  "properties": {
    "id": {
      "type": "string"
    },
    "make": {
      "type": "string"
    },
    "model": {
      "type": "string"
    },
    "age": {
      "type": "integer",
      "minimum": 0
    },
    "color": {
      "type": "string"
    },
    "power_in_hp": {
      "type": "integer",
      "minimum": 0
    },
    "fuel": {
      "enum": ["gasoline", "diesel", "hybrid", "electric"]
    },
    "mileage": {
      "type": "integer",
      "minimum": 0
    }
  }
}

我需要知道这是否是有效的JSON Schema而不是JSON数据。 这里提供了JSON数据的示例:

{
    "id": "1f5abf56-7210-481a-b2d5-324b6e0f6358",
    "make": "Volkswagen",
    "model": "Lupo",
    "age": 18,
    "color": "black",
    "power_in_hp": 61,
    "fuel": "diesel",
    "mileage": 401234
  }

1 个答案:

答案 0 :(得分:1)

是的,您想要针对JSON Schema meta schema验证JSON。

它将确保架构尽可能有效,但不是没有意义,也不是不合逻辑或不可能。