我的项目是一个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);
答案 0 :(得分:1)
这可能会对你有所帮助
将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