If you take a look at JSON schema site, there are only two libraries for validation in Java.

  1. The one that Jorge Campos suggested is mature, but looking for new maintainer: https://github.com/fge/json-schema-validator
  2. Second one is relatively new: http://github.com/everit-org/json-schema

I was recently in situation where I had to choose one or the other and I picked first option. It is being used also by Rest Assured library under the hood.

Answer from luboskrnac on Stack Overflow
🌐
Medium
medium.com › @mohommad.belal › json-schema-validator-using-java-springboot-667ed42480d5
JSON Schema Validator using Java SpringBoot. | Medium
May 11, 2024 - Please note, that you can select any version of spring-boot and java as well as project type. We will use the networknt:json-schema-validator library.
🌐
MS Charhag
mscharhag.com › spring › json-schema-validation-handlermethodargumentresolver
Integrating JSON Schema validation in Spring using a custom HandlerMethodArgumentResolver
We learned how to integrate JSON Schema validation into a Spring Boot application by implementing a custom HandlerMethodArgumentResolver. Within our implementation we validate the JSON request body against a JSON Schema before it is passed as argument to the controller.
🌐
GitHub
github.com › JanLoebel › json-schema-validation-starter
GitHub - JanLoebel/json-schema-validation-starter: Spring Boot 2 Starter for Json Schema Validation
After that simply create a json-schema and put it into e.g.: resources/jsonschema/book.json. The last step is now to let your entity know that it should be validated and which schema it should use. @JsonSchemaValidation("classpath:jsonschema/book.json") public class Book { private String title; private String author; }
Starred by 9 users
Forked by 6 users
Languages   Java 100.0% | Java 100.0%
🌐
Medium
medium.com › @AlexanderObregon › data-validation-for-api-requests-in-spring-boot-with-json-schema-c109acbd325c
Data Validation for API Requests in Spring Boot with JSON Schema
August 16, 2025 - JSON Schema validation in Spring Boot works by fitting a clear set of checks into the request pipeline before mapping happens. The schema is prepared ahead of time, incoming JSON is read and tested against it, and only matching data moves forward ...
🌐
Apache Camel
camel.apache.org › apache camel › camel components › 4.14.x (lts) › components › json schema validator
JSON Schema Validator :: Apache Camel
The JSON Schema Validator component performs bean validation of the message body against JSON Schemas v4, v6, v7, v2019-09 draft and v2020-12(partial) using the NetworkNT JSON Schema library (https://github.com/networknt/json-schema-validator).
🌐
GitHub
github.com › networknt › json-schema-validator
GitHub - networknt/json-schema-validator: A fast Java JSON schema validator that supports draft V4, V6, V7, V2019-09 and V2020-12 · GitHub
A fast Java JSON schema validator that supports draft V4, V6, V7, V2019-09 and V2020-12 - networknt/json-schema-validator
Starred by 1K users
Forked by 338 users
Languages   Java 98.6% | Python 1.4%
🌐
Jamie Tanna
jvt.me › posts › 2021 › 12 › 20 › validate-json-schema-spring-response
Validating a Spring (Boot) Response Matches JSON Schema with MockMVC · Jamie Tanna | Software Engineer
December 20, 2021 - Today I've been looking at how you can do this through MockMVC and found that although it's not a first-class citizen (at time of writing) with Spring's ContentResultMatchers, it's actually straightforward to do using Rest Assured's standalone json-schema-validator dependency.
Find elsewhere
🌐
Baeldung
baeldung.com › home › json › introduction to json schema in java
Introduction to JSON Schema in Java
November 27, 2024 - >> Flexible Pub/Sub Messaging With Spring Boot and Dapr · JSON Schema is a declarative language for validating the format and structure of a JSON Object.
🌐
GitHub
github.com › rzats › json-schema-validator
GitHub - rzats/json-schema-validator: :card_index: A REST service for validating JSON documents against JSON schemas.
A REST service for validating JSON documents against JSON schemas. Uses Spring Boot for the RESTful web service and RocksDB with the RocksJava bindings as persistent storage.
Author   rzats
🌐
GitHub
github.com › UnitVectorY-Labs › jsonschema4springboot
GitHub - UnitVectorY-Labs/jsonschema4springboot: Add JSON Schema Validation to Spring Boot 3 with Annotations
This library provides an annotation for deserializing JSON in Spring Boot 3 to include JSON Schema validation as part of the process using the networknt/json-schema-validator library.
Author   UnitVectorY-Labs
🌐
Baeldung
baeldung.com › home › http client-side › json schema validation with rest-assured
JSON Schema Validation with REST-assured | Baeldung
June 3, 2025 - >> Flexible Pub/Sub Messaging With Spring Boot and Dapr · The REST-assured library provides support for testing REST APIs, usually in JSON format. From time to time it may be desirable, without analyzing the response in detail, to know first-off whether the JSON body conforms to a certain JSON format. In this quick tutorial, we’ll take a look at how we can validate a JSON response based on a predefined JSON schema.
🌐
GitHub
github.com › novotnyr › spring-jsonschema-validation
GitHub - novotnyr/spring-jsonschema-validation: Adds support for JSON Schema validation in Spring MVC Controllers
Adds support for JSON Schema validation in Spring MVC Controllers - novotnyr/spring-jsonschema-validation
Starred by 7 users
Forked by 3 users
Languages   Java 100.0% | Java 100.0%
🌐
Java Code Geeks
javacodegeeks.com › home › enterprise java
JSON Schema validation in Java - Java Code Geeks
August 6, 2020 - In this post we will see how to ... in Java. We will use the same JSON document and Schema as in the previous post about JSON Schema. You can find both as text files on GitHub: JSON document and JSON Schema. We use the networknt JSON Schema validator library in this example. This library seems like a good fit because it supports the latest JSON Schema version (2019-09) and uses Jackson as JSON library. This makes it easy to integrate JSON Schema validation in Spring (hint: upcoming ...
🌐
Google Groups
groups.google.com › g › json-schema-validator › c › jTB-9KLycPg
Integrate json-schema-validator with Spring and Jackson
I think you already mentioned about Spring integration. Never mind. ... Either email addresses are anonymous for this group or you need the view member email addresses permission to view the original message ... I just found this: https://github.com/FasterXML/jackson-databind/commit/3955abb9198e2fddad65c157610e62e301a0c4a7 · This is something I am looking for. If you scroll down to the page, you see a test case where the test JSON payload having duplicate keys is validated using:
🌐
GitHub
github.com › everit-org › json-schema
GitHub - everit-org/json-schema: JSON Schema validator for java, based on the org.json API
JSON Schema validator for java, based on the org.json API - everit-org/json-schema
Starred by 898 users
Forked by 280 users
Languages   Java 100.0% | Java 100.0%
🌐
javathinking
javathinking.com › blog › json-schema-validation-in-spring-rest-apis
How to Validate JSON Schema in Spring Boot REST APIs: A Guide to Request Payload Validation — javathinking.com
Spring Boot’s built-in Bean Validation (JSR 380, via @Valid and annotations like @NotNull) is great for validating POJOs. However, JSON Schema shines in scenarios like: Dynamic payloads: When the request structure changes frequently (e.g., ...
🌐
MS Charhag
mscharhag.com › java › json-schema-validation
JSON Schema validation in Java
This makes it easy to integrate JSON Schema validation in Spring (hint: upcoming blog post). We need to add the following dependency to our project: <dependency> <groupId>com.networknt</groupId> <artifactId>json-schema-validator</artifactId> <version>1.0.42</version> </dependency>
🌐
vvauban
blog.vvauban.com › blog › spring-boot-json-schema-validation-networknt-in-action
🚀🧰 SPRING BOOT JSON SCHEMA VALIDATION — NETWORKNT IN ACTION
▪️ Composable: evolve rules centrally by updating the schema. 🔸 TRY IT · ▪️ Clone → run Spring Boot → POST to /api/promo/validate with your JSON (valid/invalid) and check the responses.