检查 JSON 语法正确但语义不正确的架构

Check JSON Schema which is syntactically correct, but not semantically

我想检查 JSON 架构本身,它在语法上是正确的,但在语义上是不正确的。

例如

{
      "$schema": "http://json-schema.org/draft-07/schema#",
      "$id": "http://example.com/root.json",
      "type": "object",
      "required": [
        "checked"
      ],
      "properties": {
        "checked": {
          "$id": "#/properties/checked",
          "type_invalid":"string"
        }
      }
    }

在上面的例子中有 type_invalid 键是不正确的,它应该是 type。有什么方法可以验证 JSON 架构本身吗?

对于 reference:I 我正在使用 ajv 根据 JSON 模式验证 JSON。

您可以复制现有的元架构,并将其修改为不允许其他属性,然后使用它来验证您的架构。