Jackson
Required dependency
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.19.0</version>
</dependency>
implementation 'com.fasterxml.jackson.core:jackson-databind:2.19.0'
The newest version is always supported.
Adapter classes are:
Provider node
The JsonNode abstraction wraps a concrete class from JSON/YAML library, which is called a "provider node." It is possible to interact with the API using provider nodes directly, but there is no type information at compile time, so please ensure that you are using the correct class.
Usage
Creating Validator instance
The default factory is JacksonNode.Factory
, so setting it explicitly is not required.
JsonNodeFactory factory = new JacksonNode.Factory();
Validator validator = new ValidatorFactory()
.withJsonNodeFactory(factory)
.createValidator();
Using custom ObjectMapper
ObjectMapper objectMapper = new ObjectMapper();
JsonNodeFactory factory = new JacksonNode.Factory(objectMapper);
Validator validator = new ValidatorFactory()
.withJsonNodeFactory(factory)
.createValidator();
Converting String to JsonNode
JsonNodeFactory factory = new JacksonNode.Factory();
JsonNode jsonNode = factory.create("{}");
Converting provider node to JsonNode
com.fasterxml.jackson.databind.JsonNode providerNode = new ObjectMapper().readTree("{}");
JsonNodeFactory factory = new JacksonNode.Factory();
JsonNode jsonNode = factory.wrap(providerNode);
Using Validator with provider nodes
com.fasterxml.jackson.databind.JsonNode providerSchemaNode = new ObjectMapper().readTree("{}");
URI schemaUri = validator.registerSchema(providerSchemaNode);
com.fasterxml.jackson.databind.JsonNode providerInstanceNode = new ObjectMapper().readTree("true");
Validator.Result result = validator.validate(schemaUri, providerInstanceNode);
04 August 2025