我正在使用这个json架构验证器:https://www.jsonschemavalidator.net/来验证一些json。令我感到惊讶的是,即使json中缺少某个属性,它也会验证模式。
模式
{
"$schema": "http://json-schema.org/draft-04/schema#",
"properties": {
"test": {
"type": "array"
}
}
}
应该验证
{
"test": []
}
不应该验证(但验证!)
{}
为什么这被认为是有效的,我如何验证json以便属性test
必须是json的一部分?
答案 0 :(得分:2)
可以执行required
属性。似乎验证默认情况下对所有属性使用required: false
。
这会验证并强制属性存在:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"properties": {
"test": {
"type": "array"
}
},
"required": ["test"]
}