The current version of this project is licensed under both LGPLv3 (or later) and ASL 2.0. The old version (2.0.x) was licensed under LGPL 3.0 (or later) only.
Version 2.2 is out. See here for the list of changes compared to 2.0. And of course, it still has all the features of older versions.
This is an implementation with complete validation support for the latest JSON Schema draft (v4, including hyperschema syntax support) and the previous draft (v3 -- no hyperschema support though). Its list of features would be too long to enumerate here; please refer to the links above!
Should you wonder about it, this library is reported to work on Android. Starting with version 2.2.x, all APK conflicts have been resolved, so you can use this in this context as well.
This project has a dedicated Google group. For any questions you have about this software package, feel free to post! The author (me) will try and respond in a timely manner.
You can test this library online; this web site is in a project of its own, which you can fork and run by yourself.
- current stable version: 2.2.6 (ChangeLog, Javadoc, code samples).
- old stable version: 2.0.4 (ChangeLog, Javadoc, code samples).
This package is available on Maven central; the artifact is as follows:
Gradle:
dependencies {
compile(group: "com.github.fge", name: "json-schema-validator", version: "yourVersionHere");
}
Maven:
<dependency>
<groupId>com.github.fge</groupId>
<artifactId>json-schema-validator</artifactId>
<version>your-version-here</version>
</dependency>
This jar contains the library plus all its dependencies. Download the lib jar (a little more than 6 MiB) from Bintray.
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 (RFC 6901).
For a detailed discussion of the implementation, see here.
Please see the wiki for more details.