我的项目是一个Maven项目,位于资源文件夹-src / main / resources文件夹中,我有一个json模式文件-“ jsonschema.json”
包:src / main / resources
文件:jsonschema.json
现在我想用json模式验证我的jsonobject
如何将schema.json文件加载到代码中:
下一行正确吗?
JsonNode schema = JsonLoader.fromResource("/jsonschema.json"); // correct? or correct me
JsonNode data = JsonLoader.fromString(jsonData);
ProcessingReport report = validator.validate(schema, data);
最佳答案
这可能对您有帮助
将jsonschema文件放在项目根目录或资源中,并使用普通文件读取架构,将其读取并存储在变量中,例如str
booleab isValidRequest=false;
String requestData; // data to validate
String str; //schema
JsonNode requestDataJsonNode = com.github.fge.jackson.JsonLoader.fromString(requestData);
final JsonNode schemaNode = JsonLoader.fromString(str);
// final JsonNode schemaNode=JsonLoader.fromResource("jsonschema.json"); for your query
//
final JsonSchemaFactory factory = JsonSchemaFactory.byDefault();
JsonValidator validator = factory.getValidator();
ProcessingReport processingReport= validator.validate(schemaNode, requestDataJsonNode);
if(processingReport!=null)
{
isValidRequest=processingReport.isSuccess();
}
} catch (Exception e) {
}
如果您在执行程序时遇到异常。
添加下面列出的依赖项[link]
http://mvnrepository.com/artifact/com.github.fge/json-schema-validator/2.2.5