mirror of
https://github.com/valitydev/jesse.git
synced 2024-11-06 09:35:23 +00:00
jesse (JSon Schema Erlang) is an implementation of a JSON Schema validator for Erlang.
doc | ||
src | ||
test | ||
.gitignore | ||
.gitmodules | ||
AUTHORS | ||
CHANGELOG.md | ||
cover.spec | ||
LICENSE | ||
Makefile | ||
README.md | ||
rebar | ||
rebar.config | ||
rebar.tests.config |
jesse
jesse (JSon Schema Erlang) is an implementation of a json schema validator for Erlang. Currently, it implements most of "useful" parts of the following standard draft: http://tools.ietf.org/html/draft-zyp-json-schema-03.
A list of non-implemented features could be found in jesse_schema_validator.erl. As soon as there are new drafts coming, the implementation will be updated accordingly.
Quick start
- Add jesse as a rebar dependency to your application.
- Update schema definitions:
1> jesse:update_schema("path/to/json/schema/files/", fun jiffy:decode/1)
- Use the validation function whenever you need:
2> jesse:validate("message-v1.json#", jiffy:decode(<<"{\"text\": \"some text\"}">>)).
{ok,{[{<<"text">>,<<"some text">>}]}}
3> jesse:validate("message-v1.json#", jiffy:decode(<<"{\"text\": 42}">>)).
{error,{data_invalid,{<<"text">>,42},
not_string,
{[{<<"title">>,<<"Message text">>},
{<<"type">>,<<"string">>},
{<<"example">>,<<"hello, world">>}]}}}
More documentation is coming soon...