用途:进行JSON格式的数据校验
public class JsonSchema {
private ObjectMapper mapper = new ObjectMapper();
private static final JsonSchemaFactory factory = JsonSchemaFactory.byDefault();
public JsonNode readAsTree(String jsonPath) throws Exception{
JsonNode rootNode = mapper.readTree(new File(jsonPath));
return rootNode;
}
public boolean jsonSchemaCheck(String jsonStr,String jsonSchemaPath) {
JsonNode jsonStrNode = null;
JsonNode jsonSchemaNode = null;
try{
jsonStrNode = JsonLoader.fromString(jsonStr);
jsonSchemaNode = readAsTree(jsonSchemaPath);
}catch (Exception e){
e.printStackTrace();
}
ProcessingReport report = factory.getValidator().validateUnchecked(jsonSchemaNode,jsonStrNode);
if(!report.isSuccess()){
System.out.println("JsonSchema校验失败!");
Iterator<ProcessingMessage> it = report.iterator();
if(it.hasNext()){
ProcessingMessage message = it.next();
System.out.print(message);
}
}
return report.isSuccess();
}
}