json 验证schema

2023-01-14  本文已影响0人  寻找无名的特质

需求:对于使用json作为配置文件需要使用json schema验证合法性。当所有控件的设置需要保存在数组中,就需要对整个数组中的控件进行验证。解决办法:
使用anyOf将所有组件的属性列出来。对于component使用"const",区别组件名称,为每种组件的options进行定义。使用这种方法可以编写schema并对配置文件进行验证。

{
    "$schema": "https://json-schema.org/draft/2019-09/schema",
    "type":"object",
      "properties":{
        "controls":{
          "type":"array",
          "items":{  
     "anyOf": [
       {
        "type":"object",
        "properties":{
            "component":{
                "const":"mytable"
            },
        "options":{
        }
       },
        "additionalProperties": false
      },
     {
        "type":"object",
        "properties":{
            "component":{
                "const":"_text"
            },
        "options":{
        }
       },
        "additionalProperties": false
      }],
      }}},
        "additionalProperties": false
    
}
上一篇下一篇

猜你喜欢

热点阅读