我正在尝试使用(https://github.com/fge/json-schema-validator)架构验证器来验证我的JSON。
您是否建议使用jackson架构生成生成JSON架构,还是有更好的方法?
我有一个名为(Location)的对象,它有一个对象列表(BaseObject)。 我使用$ ref到BaseObject为这样的位置创建了一个模式。但验证失败并显示错误消息 - [“”:domain:validation; keyword:properties;消息:未找到所需的属性;缺少:[“id”,“refName”];必需:[“id”,“refName”]]
我使用裁判的方式有错吗?
Location.json - schema
{
"type":"object",
"properties":{
"locationType":{
"type":"string"
},
"mapsRefs":{
"$ref": "file://localhost/c:/baseobject.json"
}
}
}
}
baseobject.json - schema
{
"type":"object",
"properties":{
"refName":{
"type":"string",
"required":true
},
"id":{
"type":"integer",
"required":true
},
"refs":{
"type":"array",
"required":false,
"items":{
"type":"string"
}
}
}
}
答案 0 :(得分:0)
回答你的第一个问题,根据我的经验,杰克逊是最容易使用和记录的API来处理java上的JSON。
对于第二个问题,您根据需要定义“id”和“refName”,您要么使用错误的模式进行验证,要么不传递所需的属性。
这看起来很像github上的这个封闭问题: https://github.com/fge/json-schema-validator/issues/22