The license of this project is LGPLv3 or later. See file src/main/resources/LICENSE for the full text.
IMPORTANT: work is under way for version 1.0, and in 1.0, some format specifiers are split from this package and are in a new one: [json-schema-formats](https://github.com/fge/json-schema-formats). Support for the following format specifiers are not in master anymore:
- date,
- time,
- phone,
- utc-millisec,
- date-time-ms.
Support for other format specifiers are still in this package for various reasons, see the above project for further explanations.
The current version is 0.6.0. The big change in that version is the newer validation message format. See [here](https://github.com/fge/json-schema-validator/wiki/Validation-messages) for more details.
The old stable version is 0.5.5. See the [ChangeLog](https://github.com/fge/json-schema-validator/wiki/ChangeLog) for more details. Versions 0.4.x are not supported anymore.
If you want to jump straight into action, you can see the Javadoc online [here](http://fge.github.com/json-schema-validator/), which contains code samples.
This is an implementation of the [JSON Schema specification](http://json-schema.github.com/json-schema/) written in pure Java. This allows pure server side JSON schema validation if this is what you are looking for.
This implementation has the following features:
- full draft v3 validation (however, see above for format);
- arbitrary length/precision number validation;
- ECMA 262 regexes (using Rhino);
- full $ref support, including id resolving and loop detection;
- thread safe validators;
- ability to register/unregister URI handlers for arbitrary URI schemes (natively supported: http, ftp, file and jar);
- ability to register/unregister keywords;
- very fast.
Currently, JSON Schema is not an official RFC. In fact, the existing draft is obsolete -- but it is used on the Internet nonetheless. This implementation is based on the following drafts:
- JSON Schema Internet draft, version 3 (link);
- JSON Reference Internet draft, version 2 (link);
- JSON Pointer Internet draft, version 3 (link).
For a detailed discussion of the implementation, see [here](https://github.com/fge/json-schema-validator/wiki/Status). For a list of planned features for next versions, see [here](https://github.com/fge/json-schema-validator/wiki/Roadmap).
Please see the wiki for more details.