Version 2.0.0 is out!
The license of this project is LGPLv3 or later. See file src/main/resources/LICENSE for the full text.
This implementation has complete validation support for the latest draft (v4) and the previous draft (v3). More generally, it has quite an extensive list of features.
Should you wonder about it, this library is reported to work on Android :)
You can test this library online; you can even fork this web site and run it yourself.
This project also has a dedicated Google group.
- stable version: 2.0.0 (ChangeLog, Javadoc, code samples).
- old version: 1.6.2 (ChangeLog, Javadoc, code samples).
In the example below, substitute your-version-here for the version you want.
<dependency>
<groupId>com.github.fge</groupId>
<artifactId>json-schema-validator</artifactId>
<version>your-version-here</version>
</dependency>
This library's dependency on json-schema-core opens up many possibilities for extensions. A decicated project shows what is possible, and it barely scratches the surface.
Despite that, a processor has already been written to allow generations of JSON Schemas out of a plain Java source, and this is even being demonstrated online. This means you can create a validation chain validating instances using a Java class directly, without having to write a JSON Schema!
The versioning scheme is defined by the middle digit of the version number:
- if this number is even, then this is the stable version; no new features will be added to such versions, and the user API will not change (save for some additions if requested).
- if this number is odd, then this is the development version; new features will be added to those versions only, and the user API may change.
This implementation is based on the following drafts:
- JSON Schema Internet draft, version 4 (link to validation spec);
- JSON Schema Internet draft, version 3;
- JSON Reference Internet draft, version 3;
- JSON Pointer Internet draft, version 9.
For a detailed discussion of the implementation, see here.
Please see the wiki for more details.