映射数组的 JSON 模式<字符串,字符串 []> ;键和值对等属性



json包含运行时间键和值对

{
  "user_id" : 2
  "applicationName": "RetailPos",
  "permissions": {
  "Purchase": [
    "Access",
    "Create",
    "Delete",
    "Modify"
   ],
  "Sales": [
    "Access",
    "Create",
    "Delete",
    "Modify"
   ]
  },
 "group": "Admin Group"
}

考虑上述样本,此处 PurchaseSales是目标和值 AccessCreate ...是操作。在这里,目标和操作都是运行时间值。

在此JSON模式验证中,找不到足够的样本来创建所需的架构。

{
"required": true,
"$schema": "http://json-schema.org/draft-03/schema",
"type": "object",
"properties": {
     "user_id": {
        "type": "number",
        "required": true
    },
     "application_name": {
      "type":"string",
      "required":true
    },
    //Permission schema
    "group" : {
      "type" :"string",
      "required":true
    }
  }
}

任何文档或相关样本都会有用。

您可以使用"额外的Properties"关键词。例如:

{
  "$schema": "http://json-schema.org/draft-03/schema",
  "type": "object",
  "properties": {
     "user_id": {
        "type": "number",
        "required": true
    },
     "applicationName": {
      "type":"string",
      "required":true
    },   
    "permissions": {
      "additionalProperties": {
        "type": "array",
        "items": {
          "type": "string",
          "enum": ["Access", "Create", "Delete", "Modify"]
        },
       }
     },
    "group" : {
      "type" :"string",
      "required":true
    }
  }
}

更多信息在此处和此处

最新更新