JSON Schema Validation: Difference between revisions
Jump to navigation
Jump to search
No edit summary |
|||
Line 1: | Line 1: | ||
<source lang="xml"> | |||
<dependency> | |||
<groupId>com.networknt</groupId> | |||
<artifactId>json-schema-validator</artifactId> | |||
<version>1.0.42</version> | |||
</dependency> | |||
</source> | |||
<source lang="java"> | |||
private static InputStream inputStreamFromClasspath(String path) { | |||
return Thread.currentThread().getContextClassLoader().getResourceAsStream(path); | |||
} | |||
public static void main(String[] args) throws Exception { | |||
ObjectMapper objectMapper = new ObjectMapper(); | |||
JsonSchemaFactory schemaFactory = JsonSchemaFactory.getInstance(SpecVersion.VersionFlag.V201909); | |||
try ( | |||
InputStream jsonStream = inputStreamFromClasspath("example.json"); | |||
InputStream schemaStream = inputStreamFromClasspath("example-schema.json") | |||
) { | |||
JsonNode json = objectMapper.readTree(jsonStream); | |||
JsonSchema schema = schemaFactory.getSchema(schemaStream); | |||
Set<ValidationMessage> validationResult = schema.validate(json); | |||
// print validation errors | |||
if (validationResult.isEmpty()) { | |||
System.out.println("no validation errors :-)"); | |||
} else { | |||
validationResult.forEach(vm -> System.out.println(vm.getMessage())); | |||
} | |||
} | |||
} | |||
</source> | |||
==References== | ==References== | ||
{| | {| |
Revision as of 04:36, 19 April 2021
<dependency>
<groupId>com.networknt</groupId>
<artifactId>json-schema-validator</artifactId>
<version>1.0.42</version>
</dependency>
private static InputStream inputStreamFromClasspath(String path) {
return Thread.currentThread().getContextClassLoader().getResourceAsStream(path);
}
public static void main(String[] args) throws Exception {
ObjectMapper objectMapper = new ObjectMapper();
JsonSchemaFactory schemaFactory = JsonSchemaFactory.getInstance(SpecVersion.VersionFlag.V201909);
try (
InputStream jsonStream = inputStreamFromClasspath("example.json");
InputStream schemaStream = inputStreamFromClasspath("example-schema.json")
) {
JsonNode json = objectMapper.readTree(jsonStream);
JsonSchema schema = schemaFactory.getSchema(schemaStream);
Set<ValidationMessage> validationResult = schema.validate(json);
// print validation errors
if (validationResult.isEmpty()) {
System.out.println("no validation errors :-)");
} else {
validationResult.forEach(vm -> System.out.println(vm.getMessage()));
}
}
}