Read me first
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.
What this is
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.
Google Group
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.
Testing online
You can test this library online; this web site is in a project of its own, which you can fork and run by yourself.
Versions
- current stable version: 2.2.12 (ChangeLog, Javadoc, code samples).
- old stable version: 2.0.4 (ChangeLog, Javadoc, code samples).
Available downloads
Gradle/maven
This package is available on Maven central; the artifact is as follows:
Gradle:
dependencies {
compile(group: "com.github.java-json-tools", name: "json-schema-validator", version: "2.2.12");
}
Maven:
<dependency>
<groupId>com.github.java-json-tools</groupId>
<artifactId>json-schema-validator</artifactId>
<version>2.2.12</version>
</dependency>
"Full" jar; command line
OUTDATED: Let me know if you need this in the issues section.
This jar contains the library plus all its dependencies. Download the lib jar (a little more than 6 MiB) from Bintray.
Versioning scheme policy
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.
Relevant documents
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).
More...
For a detailed discussion of the implementation, see here.
Please see the wiki for more details.