PatternProperties 中的 JSON Schema 严格类型

甘尼什萨普特

我有类似于下面的 JSON 文档

{
  "dell": {
    "memory": {

      "RAM": {
        "RamType": "DDR",
        "Size": 16
      },
      "Graphic": {
        "RamType": "GDDR",
        "Size": 4,
        "dummy": "dummy"
      }
    },
    "dummy": "dummy"
  }
}

我想要的是有一个键值对列表,其中键是计算机的名称,值是计算机的属性。同样在这些值中,我可以有多个键值对,如上所示。

我已经用草稿 6 编写了 JSON 模式,如下所示

{
  "$schema": "http://json-schema.org/draft-06/schema#",
  "properties": {
    "computers": {
      "patternProperties": {
        "additionalProperties": false,
        "^[a-z0-9-_]+$": {
          "properties": {
            "memory": {
              "patternProperties": {
                "^[a-z0-9-_]+$": {
                  "additionalProperties": false,
                  "properties": {
                    "RamType": {
                      "type": "string",
                      "RamSize": {
                        "type": "number"
                      }
                    }
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}

你可以在这里试一试

问题是我不想让用户输入“虚拟”值,如上面给出的 JSON 所示。显然"additionalProperties" : true是行不通的。我能做什么?

杰森·德罗西尔斯

您的主要问题是您的架构描述了您的数据没有的名为“计算机”的顶级属性。因此,您正在测试的任何数据都不会受到您的架构的限制。另一个问题是您的正则表达式与大写字符不匹配。

{
  "$schema": "http://json-schema.org/draft-06/schema#",
  "patternProperties": {
    "^[a-zA-Z0-9-_]+$": {
      "additionalProperties": false,
      "properties": {
        "memory": {
          "patternProperties": {
            "^[a-zA-Z0-9-_]+$": {
              "additionalProperties": false,
              "properties": {
                "RamType": { "type": "string" },
                "Size": { "type": "number" }
              }
            }
          }
        }
      }
    }
  }
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Json Schema:根据使用类型验证类型

来自分类Dev

在React中阅读schema.org JSON

来自分类Dev

检查 JSON Schema 中的不同嵌套属性

来自分类Dev

在Json-schema-validator 2.1.6中找不到ProcessingReport类,但是方法JsonSchema.validate返回该类型的对象

来自分类Dev

在Json-schema-validator 2.1.6中找不到ProcessingReport类,但是方法JsonSchema.validate返回该类型的对象

来自分类Dev

从 json 中引用 JSON Schema 类似 XML 引用 XML 模式

来自分类Dev

在Python中声明变量的严格数据类型?

来自分类Dev

如何处理 Haskell 中的严格类型检查?

来自分类Dev

确保数组中的item属性在Json Schema中是唯一的?

来自分类Dev

Json-Schema:多个相同类型的元素

来自分类Dev

使用json-schema v4定义地图类型

来自分类Dev

Json-Schema:多个相同类型的元素

来自分类Dev

为什么JSON Schema maximum在allOf中不起作用?

来自分类Dev

JSON SCHEMA - 如何检查数组中是否存在值

来自分类Dev

如何在schema.org json ld中设置总部

来自分类Dev

通过其他插件更新 vscode 中的 Json Schema

来自分类Dev

在C ++中,严格的自下而上的分析如何暗示在重载分辨率中不使用返回类型?

来自分类Dev

从POJO生成Json Schema

来自分类Dev

JSon schema and Inheritance

来自分类Dev

拒绝从“ *”执行脚本,因为其MIME类型(“ application / json”)不可执行,并且启用了严格的MIME类型检查

来自分类Dev

JavaConstant.Dynamic.ofInvocation()中的类型可分配性是否太严格?

来自分类Dev

JSON-LD中schema.org面包屑中的相对URL语义

来自分类Dev

在JSON-LD中的Schema.org OpeningHoursSpecification中包含“午休”

来自分类Dev

JSON-LD中schema.org面包屑中的相对URL语义

来自分类Dev

Haskell中JSON类型的构造

来自分类Dev

JSON模式:类型中的模式

来自分类Dev

JSON对象中的数字类型

来自分类Dev

JSON模式:类型中的模式

来自分类Dev

是否可以将$ ref与JSON Schema中的其他关键字结合使用?

Related 相关文章

  1. 1

    Json Schema:根据使用类型验证类型

  2. 2

    在React中阅读schema.org JSON

  3. 3

    检查 JSON Schema 中的不同嵌套属性

  4. 4

    在Json-schema-validator 2.1.6中找不到ProcessingReport类,但是方法JsonSchema.validate返回该类型的对象

  5. 5

    在Json-schema-validator 2.1.6中找不到ProcessingReport类,但是方法JsonSchema.validate返回该类型的对象

  6. 6

    从 json 中引用 JSON Schema 类似 XML 引用 XML 模式

  7. 7

    在Python中声明变量的严格数据类型?

  8. 8

    如何处理 Haskell 中的严格类型检查?

  9. 9

    确保数组中的item属性在Json Schema中是唯一的?

  10. 10

    Json-Schema:多个相同类型的元素

  11. 11

    使用json-schema v4定义地图类型

  12. 12

    Json-Schema:多个相同类型的元素

  13. 13

    为什么JSON Schema maximum在allOf中不起作用?

  14. 14

    JSON SCHEMA - 如何检查数组中是否存在值

  15. 15

    如何在schema.org json ld中设置总部

  16. 16

    通过其他插件更新 vscode 中的 Json Schema

  17. 17

    在C ++中,严格的自下而上的分析如何暗示在重载分辨率中不使用返回类型?

  18. 18

    从POJO生成Json Schema

  19. 19

    JSon schema and Inheritance

  20. 20

    拒绝从“ *”执行脚本,因为其MIME类型(“ application / json”)不可执行,并且启用了严格的MIME类型检查

  21. 21

    JavaConstant.Dynamic.ofInvocation()中的类型可分配性是否太严格?

  22. 22

    JSON-LD中schema.org面包屑中的相对URL语义

  23. 23

    在JSON-LD中的Schema.org OpeningHoursSpecification中包含“午休”

  24. 24

    JSON-LD中schema.org面包屑中的相对URL语义

  25. 25

    Haskell中JSON类型的构造

  26. 26

    JSON模式:类型中的模式

  27. 27

    JSON对象中的数字类型

  28. 28

    JSON模式:类型中的模式

  29. 29

    是否可以将$ ref与JSON Schema中的其他关键字结合使用?

热门标签

归档