Skip to content

A JSON schema validation implementation in pure Java, which aims for correctness and performance, in that order

Notifications You must be signed in to change notification settings

gitgrimbo/json-schema-validator

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Read me first

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.

Versions

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.

What it is

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.

Relevant documents

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).

More...

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.

About

A JSON schema validation implementation in pure Java, which aims for correctness and performance, in that order

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Java 100.0%