Other considerations when picking a JVM-based JSON Schema Validation Library
While this micro-site focuses on the functionality and performance of the validation libraries, this should not be the only information driving a choice.
Things to also consider are:
- Is the project in active development? When was its last release?
The
Project activitycolumn on the Libraries under test table attempts to show this, but relies on someone updating the site if a project becomes inactive. Projects that aren’t active come with their own set of issues, especially around bug & security fixes, or dependency updates. - What dependencies does it bring in? Less being more.
For example,
Vertxbrings in Netty as a dependency, which seems unnecessary. Whereas,DevHarrelis very light on dependendies. - Size of the library’s jar file and its dependencies.
The
Jar sizecolumn on the Libraries under test table shows the size of the library’s primary jar, but does not yet include the size of any other dependencies this brings in. - Is the implementation fit for purpose.
For example:
- The
Snowimplementation documents itself as a reference implementation. (This may go some way to explain its poor performance). - The
Vertximplementation doesn’t seem to provide a way to control how remote references are loaded. - The
Justifyimplementation supports validating while streaming large JSON documents, rather than having to load the entire document into memory.
- The