jsonSchema 验证密钥
jsonSchema validating keys
你能帮我吗,我如何验证以下 json 中列表项的 "keys"(例如“1”、“2”、“3”):
{
"list" : {
"1" : {
"element1" : "1",
"element2" : "2"
},
"2" : {
"element1" : "1",
"element2" : "2"
},
....
"512" : {
"element1" : "1",
"element2" : "2"
}
}
}
也请给我一些常见的例子来验证 json 中的密钥。
JSON Schema 有三种方法来限制对象的 属性 名称。
属性
properties
关键字允许您为 属性 个名称设置完全匹配。
{
"type": "object",
"properties": {
"1": { ... },
"2": { ... },
...
}
}
图案属性
patternProperties
关键字限制与正则表达式相匹配的任何 属性 名称以根据给定模式进行验证。
{
"type": "object",
"patternProperties": {
"[1-9][0-9]*": { ... }
}
}
属性姓名
propertyNames
关键字约束 属性 名称以匹配给定的架构。
{
"type": "object",
"propertyNames": {
"pattern": "[1-9][0-9]*"
}
}
编辑 12-19-2018 改进答案,添加缺失的 patternProperties
,添加新的(自原始答案)选项 propertyNames
.
你能帮我吗,我如何验证以下 json 中列表项的 "keys"(例如“1”、“2”、“3”):
{
"list" : {
"1" : {
"element1" : "1",
"element2" : "2"
},
"2" : {
"element1" : "1",
"element2" : "2"
},
....
"512" : {
"element1" : "1",
"element2" : "2"
}
}
}
也请给我一些常见的例子来验证 json 中的密钥。
JSON Schema 有三种方法来限制对象的 属性 名称。
属性
properties
关键字允许您为 属性 个名称设置完全匹配。
{
"type": "object",
"properties": {
"1": { ... },
"2": { ... },
...
}
}
图案属性
patternProperties
关键字限制与正则表达式相匹配的任何 属性 名称以根据给定模式进行验证。
{
"type": "object",
"patternProperties": {
"[1-9][0-9]*": { ... }
}
}
属性姓名
propertyNames
关键字约束 属性 名称以匹配给定的架构。
{
"type": "object",
"propertyNames": {
"pattern": "[1-9][0-9]*"
}
}
编辑 12-19-2018 改进答案,添加缺失的 patternProperties
,添加新的(自原始答案)选项 propertyNames
.