JSON包含运行时键和值对
{
"user_id" : 2
"applicationName": "RetailPos",
"permissions": {
"Purchase": [
"Access",
"Create",
"Delete",
"Modify"
],
"Sales": [
"Access",
"Create",
"Delete",
"Modify"
]
},
"group": "Admin Group"
}
考虑上面的示例,此处Purchase
和Sales
是目标,值Access
,Create
...是操作。这里目标和操作都是运行时值。
在此JSON Schema Validation中找不到足够的样本来创建所需的架构。
{
"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
}
}
}
任何文件或相关样本都会有用。
答案 0 :(得分:1)
您可以使用“additionalProperties”关键字。 例如:
{
"$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
}
}
}