JsonXema is a JSON Schema validator with support for draft 04, 06, and 07.
JsonXema based on elixir schema validator Xema.
JsonXema is in early beta. If you try it and has an issue, report them.
If available in Hex, the package can be installed like this:
First, add JsonXema to your mix.exs
dependencies:
def deps do
[
{:json_xema, "~> 0.3"}
]
end
Then, update your dependencies:
$ mix deps.get
The docs contains a Usage page with a
short and compact description to use JsonXema
.
A loader must be configured to support remote schemas. The documentation contains a description on page Configure a loader.
Documentation can be generated with
ExDoc by running mix docs
. The
generated docs can be found at
https://hexdocs.pm/json_xema.
Tests in test/json_xema are not organised as classic unit tests but are related to JSON schema keywords or a specific feature.
The directory test/suite contains tests for draft 04, 06, and 07 and are generated from the Json Schema Test Suite.
A benchmark test can be started with mix bench
. More about the benchmark can
be found at bench.
The home of JSON Schema: http://json-schema.org/
Specification:
- Draft-04
- JSON Schema core defines the basic foundation of JSON Schema
- JSON Schema Validation defines the validation keywords of JSON Schema
- Draft-06
- JSON Schema core
- JSON Schema Validation
- JSON Schema Release Notes contains informations to migrate schemas.
- Draft-07
Understanding JSON Schema a great tutorial for JSON Schema authors.