https://github.com/java-json-tools/json-schema-validator
A JSON Schema validation implementation in pure Java, which aims for correctness and performance, in that order
https://github.com/java-json-tools/json-schema-validator
Last synced: 8 months ago
JSON representation
A JSON Schema validation implementation in pure Java, which aims for correctness and performance, in that order
- Host: GitHub
- URL: https://github.com/java-json-tools/json-schema-validator
- Owner: java-json-tools
- License: other
- Created: 2011-06-27T22:45:08.000Z (over 14 years ago)
- Default Branch: master
- Last Pushed: 2023-10-26T13:56:26.000Z (about 2 years ago)
- Last Synced: 2024-06-19T09:41:46.860Z (over 1 year ago)
- Language: Java
- Homepage: http://json-schema-validator.herokuapp.com/
- Size: 18.7 MB
- Stars: 1,620
- Watchers: 93
- Forks: 396
- Open Issues: 161
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
[![License LGPLv3][LGPLv3 badge]][LGPLv3]
[![License ASL 2.0][ASL 2.0 badge]][ASL 2.0]
[![Build Status][Travis badge]][Travis]

## 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][LGPLv3] (or later) only.
**Version 2.2 is out**. See [here](https://github.com/java-json-tools/json-schema-validator/wiki/Whatsnew_22)
for the list of changes compared to 2.0. And of course, it still has [all the
features](https://github.com/java-json-tools/json-schema-validator/wiki/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](http://stackoverflow.com/questions/14511468/java-android-validate-string-json-against-string-schema).
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](https://groups.google.com/forum/?fromgroups#!forum/json-schema-validator). 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](http://json-schema-validator.herokuapp.com); this web site is in
a [project of its own](https://github.com/fge/json-schema-validator-demo), which you can fork and
run by yourself.
## Versions
* current stable version: **2.2.14**
([ChangeLog](https://github.com/java-json-tools/json-schema-validator/wiki/ChangeLog_22x),
[Javadoc](http://java-json-tools.github.io/json-schema-validator/2.2.x/index.html), [code
samples](http://java-json-tools.github.io/json-schema-validator/2.2.x/index.html?com/github/fge/jsonschema/examples/package-summary.html)).
* old stable version: **2.0.4**
([ChangeLog](https://github.com/java-json-tools/json-schema-validator/wiki/ChangeLog_20x),
[Javadoc](http://java-json-tools.github.io/json-schema-validator/2.0.x/index.html), [code
samples](http://java-json-tools.github.io/json-schema-validator/2.0.x/index.html?com/github/fge/jsonschema/examples/package-summary.html)).
## Available downloads
### Gradle/maven
This package is available on Maven central; the artifact is as follows:
Gradle:
```groovy
dependencies {
compile(group: "com.github.java-json-tools", name: "json-schema-validator", version: "2.2.14");
}
```
Maven:
```xml
com.github.java-json-tools
json-schema-validator
2.2.14
```
### "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](https://bintray.com/fge/maven/json-schema-validator/view).
## 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](http://tools.ietf.org/html/draft-zyp-json-schema-04)
([link to validation spec](http://tools.ietf.org/html/draft-fge-json-schema-validation-00));
* [JSON Schema Internet draft, version 3](http://tools.ietf.org/html/draft-zyp-json-schema-03);
* [JSON Reference Internet draft, version
3](http://tools.ietf.org/html/draft-pbryan-zyp-json-ref-03);
* [JSON Pointer (RFC 6901)](http://tools.ietf.org/html/rfc6901).
## More...
For a detailed discussion of the implementation, see
[here](https://github.com/java-json-tools/json-schema-validator/wiki/Status).
Please see the [wiki](https://github.com/java-json-tools/json-schema-validator/wiki/) for more
details.
[LGPLv3 badge]: https://img.shields.io/:license-LGPLv3-blue.svg
[LGPLv3]: http://www.gnu.org/licenses/lgpl-3.0.html
[ASL 2.0 badge]: https://img.shields.io/:license-Apache%202.0-blue.svg
[ASL 2.0]: http://www.apache.org/licenses/LICENSE-2.0.html
[Travis Badge]: https://travis-ci.com/java-json-tools/json-schema-validator.svg?branch=master
[Travis]: https://travis-ci.com/java-json-tools/json-schema-validator