用于验证JSON对象的JSON模式,其中包含相同类型的项数组

时间:2017-04-12 07:47:20

标签: json jsonschema

我可以创建json模式来验证这个对象而无需以其他形式重新设计json吗?

{      
        "itemColors": {
          "40": "#12ffd6",
          "69": "#f90861",
          "185": "#063ac3"
        },
        "itemVisible": {
          "32": true,
          "33": true,
          "34": true,
          "36": true,
          "37": true,
          "38": true,
          "39": true,
          "40": true,
          "41": true,
          "55": true,
          "56": true,
          "69": true,
          "185": true,
          "187": true,
          "196": true,
          "197": true,
          "198": true
        } 

}

对象可以具有不同数量的属性。

ItemColors的值:

  • 必须是string
  • 类型
  • 不一定是唯一的
  • 可以是任意数目

itemVisible也是一样,但值必须是boolean类型

1 个答案:

答案 0 :(得分:1)

您可以使用"additionalProperties"指定未指定属性的架构:

{
   "properties" : {
       "itemColors" : {
            "type" : "object",
            "additionalProperties" : {
                "type" : "string"
            }
       },
       "itemsVisible" : {
            "type" : "object",
            "additionalProperties" : {
                "type" : "boolean"
            }
       }
   }
}

在此处阅读更多内容:https://spacetelescope.github.io/understanding-json-schema/reference/object.html