dev.harrel:json-schema Help

Jackson 3.x

Required dependencies

<dependency> <groupId>dev.harrel.json.providers</groupId> <artifactId>jackson3</artifactId> <version>1.9.0</version> </dependency> <dependency> <groupId>tools.jackson.core</groupId> <artifactId>jackson-databind</artifactId> <version>3.0.2</version> </dependency>
implementation 'dev.harrel.json.providers:jackson3:1.9.0' implementation 'tools.jackson.core:jackson-databind:3.0.2'

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

JsonNodeFactory factory = new Jackson3Node.Factory(); Validator validator = new ValidatorFactory() .withJsonNodeFactory(factory) .createValidator();

Using custom ObjectMapper

ObjectMapper objectMapper = new ObjectMapper(); JsonNodeFactory factory = new Jackson3Node.Factory(objectMapper); Validator validator = new ValidatorFactory() .withJsonNodeFactory(factory) .createValidator();

Converting String to JsonNode

JsonNodeFactory factory = new Jackson3Node.Factory(); JsonNode jsonNode = factory.create("{}");

Converting provider node to JsonNode

tools.jackson.databind.JsonNode providerNode = new ObjectMapper().readTree("{}"); JsonNodeFactory factory = new Jackson3Node.Factory(); JsonNode jsonNode = factory.wrap(providerNode);

Using Validator with provider nodes

tools.jackson.databind.JsonNode providerSchemaNode = new ObjectMapper().readTree("{}"); URI schemaUri = validator.registerSchema(providerSchemaNode); tools.jackson.databind.JsonNode providerInstanceNode = new ObjectMapper().readTree("true"); Validator.Result result = validator.validate(schemaUri, providerInstanceNode);
20 November 2025