Skip to content

Commit 31560ff

Browse files
authored
Merge pull request json-schema-org#131 from adamvoss/structured-library-information
Structured validation library information
2 parents 04b175e + 4c15a61 commit 31560ff

File tree

2 files changed

+195
-72
lines changed

2 files changed

+195
-72
lines changed

_data/validator-libraries.yml

Lines changed: 181 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,181 @@
1+
- name: .NET
2+
anchor-name: dotnet
3+
implementations:
4+
- name: Json.NET
5+
url: http://james.newtonking.com/projects/json-net.aspx
6+
license: "MIT"
7+
- name: NJsonSchema
8+
url: http://NJsonSchema.org
9+
notes: "- *supports draft 4*"
10+
license: Ms-PL
11+
- name: ActionScript 3
12+
anchor-name: action-script-3
13+
implementations:
14+
- name: Frigga
15+
url: https://github.com/raulbajales/Frigga
16+
license: "MIT"
17+
- name: C
18+
implementations:
19+
- name: WJElement
20+
url: https://github.com/netmail-open/wjelement
21+
license: "LGPLv3"
22+
- name: C++
23+
anchor-name: cpp
24+
implementations:
25+
- name: wjelement-cpp
26+
url: https://github.com/petehug/wjelement-cpp
27+
notes: "- *supports draft 4*"
28+
license: LGPLv3
29+
- name: Header-only C++ library for JSON Schema validation
30+
url: https://github.com/tristanpenman/valijson
31+
notes: "- *supports only draft 4*"
32+
license: BSD-2-Clause
33+
- name: Modern C++ JSON schema validator
34+
url: https://github.com/pboettch/json-schema-validator
35+
notes: "- *supports only draft 4* based on JSON for Modern C++"
36+
license: "MIT"
37+
- name: Clojure
38+
implementations:
39+
- name: scjsv
40+
url: https://github.com/metosin/scjsv
41+
notes: "- *supports draft 4* (wrapper for [java-json-tools/json-schema-validator](https://github.com/java-json-tools/json-schema-validator))"
42+
license: Eclipse Public License v1.0
43+
- name: Dart
44+
implementations:
45+
- name: json_schema
46+
url: https://github.com/patefacio/json_schema
47+
notes: "*supports draft 4*"
48+
license: BSL-1.0
49+
- name: Erlang
50+
implementations:
51+
- name: JeSSE
52+
url: https://github.com/for-GET/jesse
53+
license: "Apache 2.0"
54+
- name: Go
55+
implementations:
56+
- name: gojsonschema
57+
url: https://github.com/sigu-399/gojsonschema
58+
license: "Apache 2.0"
59+
- name: jsonschema
60+
url: https://github.com/santhosh-tekuri/jsonschema
61+
notes: "*supports draft 4, draft 6*"
62+
license: BSD-3-Clause
63+
- name: Haskell
64+
implementations:
65+
- name: aeson-schema
66+
url: https://github.com/timjb/aeson-schema
67+
license: "MIT"
68+
- name: hjsonschema
69+
url: https://github.com/seagreen/hjsonschema
70+
notes: "- *supports draft 4*"
71+
license: MIT
72+
- name: Java
73+
implementations:
74+
- name: json-schema-validator
75+
url: https://github.com/java-json-tools/json-schema-validator
76+
notes: "- *supports draft 4*"
77+
license: LGPLv3
78+
- name: json-schema (implementation based on the org.json API)
79+
url: https://github.com/everit-org/json-schema
80+
notes: "- *supports draft 4, draft 6*"
81+
license: Apache License 2.0
82+
- name: json-schema-validator
83+
url: https://github.com/networknt/json-schema-validator
84+
notes: "- *supports draft 4*"
85+
license: Apache License 2.0
86+
- name: JavaScript
87+
implementations:
88+
- name: ajv
89+
url: https://github.com/epoberezkin/ajv
90+
notes: "for Node.js and browsers - *supports draft 4, draft 6, [custom keywords](https://github.com/epoberezkin/ajv-keywords) and [$data reference](https://github.com/json-schema-org/json-schema-spec/issues/51)*"
91+
license: MIT
92+
- name: djv
93+
url: https://github.com/korzio/djv
94+
notes: "for Node.js and browsers - *supports draft 4*"
95+
license: MIT
96+
- name: jsonschema
97+
url: https://github.com/tdegrunt/jsonschema
98+
notes: "for Node.js - *supports draft 4*"
99+
license: MIT
100+
- name: is-my-json-valid
101+
url: https://github.com/mafintosh/is-my-json-valid
102+
notes: "- *supports draft 4*"
103+
license: MIT
104+
- name: tv4
105+
url: http://geraintluff.github.com/tv4/
106+
notes: "- *supports draft 4*"
107+
license: [Public Domain, MIT]
108+
- name: JaySchema
109+
url: https://github.com/natesilva/jayschema
110+
notes: "for Node.js - *supports draft 4*"
111+
license: BSD
112+
- name: z-schema
113+
url: https://github.com/zaggino/z-schema
114+
notes: "for Node.js - *supports draft 4*"
115+
license: MIT
116+
- name: direct-schema
117+
url: http://github.com/IreneKnapp/direct-schema
118+
license: "BSD"
119+
- name: JSV
120+
url: http://github.com/garycourt/JSV
121+
license: "BSD"
122+
- name: json-schema
123+
url: https://github.com/kriszyp/json-schema
124+
notes: "part of the [Persevere](http://github.com/kriszyp/json-schema) project"
125+
license: [AFL, BSD]
126+
- name: schema.js
127+
url: https://github.com/akidee/schema.js
128+
license: "MIT"
129+
- name: json-gate
130+
url: https://github.com/oferei/json-gate
131+
license: "MIT"
132+
- name: JSEN
133+
url: https://github.com/bugventure/jsen
134+
notes: "for Node.js - *supports draft 4*"
135+
license: "MIT"
136+
- name: PHP
137+
implementations:
138+
- name: jsv4-php
139+
url: https://github.com/geraintluff/jsv4-php
140+
notes: "- *supports draft 4*"
141+
license: [Public Domain, MIT]
142+
- name: php-json-schema
143+
url: https://github.com/hasbridge/php-json-schema
144+
license: "MIT"
145+
- name: json-schema
146+
url: https://github.com/justinrainbow/json-schema
147+
license: "Berkeley"
148+
- name: JVal
149+
url: https://github.com/stefk/jval
150+
notes: "- *supports draft 4*"
151+
license: "MIT"
152+
- name: JSON Guard
153+
url: https://github.com/thephpleague/json-guard
154+
notes: "- *supports draft 4*"
155+
license: "MIT"
156+
- name: Perl
157+
implementations:
158+
- name: JSV::Validator
159+
url: https://metacpan.org/module/JSV::Validator
160+
license: "MIT"
161+
- name: JSON::Schema
162+
url: https://metacpan.org/module/JSON::Schema
163+
license: "MIT"
164+
- name: Python
165+
implementations:
166+
- name: jsonschema
167+
url: https://github.com/Julian/jsonschema
168+
notes: "- *supports draft 4*"
169+
license: "MIT"
170+
- name: json-schema-validator
171+
url: https://github.com/zyga/json-schema-validator
172+
license: "LGPL"
173+
- name: Ruby
174+
implementations:
175+
- name: ruby-jsonschema
176+
url: https://github.com/Constellation/ruby-jsonchema
177+
license: "MIT"
178+
- name: json-schema
179+
url: https://github.com/hoxworth/json-schema
180+
notes: "- *supports draft 4*"
181+
license: MIT

implementations.md

Lines changed: 14 additions & 72 deletions
Original file line numberDiff line numberDiff line change
@@ -20,82 +20,24 @@ Validators
2020

2121
<nav class="intra" markdown="1">
2222

23-
- [.NET](#validator-dotnet)
24-
- [Action Script 3](#validator-action-script-3)
25-
- [C](#validator-c)
26-
- [C++](#validator-cpp)
27-
- [Clojure](#validator-clojure)
28-
- [Dart](#validator-dart)
29-
- [Erlang](#validator-erlang)
30-
- [Go](#validator-go)
31-
- [Haskell](#validator-haskell)
32-
- [Java](#validator-java)
33-
- [JavaScript](#validator-javascript)
34-
- [PHP](#validator-php)
35-
- [Perl](#validator-perl)
36-
- [Python](#validator-python)
37-
- [Ruby](#validator-ruby)
23+
{% assign validator-libraries = site.data.validator-libraries | sort:"name" %}
24+
25+
{% for language in validator-libraries %}
26+
- [{{ language.name }}](#validator-{% if language.anchor-name %}{{ language.anchor-name }}{% else %}{{ language.name | downcase }}{% endif %})
27+
{% endfor %}
3828

3929
</nav>
4030

41-
<!-- -->
31+
<!-- To add a validator library, add it in _data/validator-libraries.yml -->
32+
33+
{% for language in validator-libraries %}
34+
35+
- {{language.name}} <a id="validator-{% if language.anchor-name %}{{ language.anchor-name }}{% else %}{{ language.name | downcase }}{% endif %}"></a>{% for implementation in language.implementations %}
36+
- [{{ implementation.name }}]({{implementation.url}}) {{implementation.notes}}
37+
({{implementation.license | join: ", "}}){% endfor %}
38+
39+
{% endfor %}
4240

43-
- .NET <a id="validator-dotnet"></a>
44-
- [Json.NET](http://james.newtonking.com/projects/json-net.aspx) (MIT)
45-
- [NJsonSchema](http://NJsonSchema.org) - *supports draft 4* (Ms-PL)
46-
- ActionScript 3 <a id="validator-action-script-3"></a>
47-
- [Frigga](https://github.com/raulbajales/Frigga) (MIT)
48-
- C <a id="validator-c"></a>
49-
- [WJElement](https://github.com/netmail-open/wjelement) (LGPLv3)
50-
- C++ <a id="validator-cpp"></a>
51-
- [wjelement-cpp](https://github.com/petehug/wjelement-cpp) - *supports draft 4* (LGPLv3)
52-
- [Header-only C++ library for JSON Schema validation](https://github.com/tristanpenman/valijson) - *supports only draft 4* (BSD-2-Clause)
53-
- [Modern C++ JSON schema validator](https://github.com/pboettch/json-schema-validator) - *supports only draft 4* based on JSON for Modern C++ (MIT)
54-
- Clojure <a id="validator-clojure"></a>
55-
- [scjsv](https://github.com/metosin/scjsv) - *supports draft 4* (wrapper for [java-json-tools/json-schema-validator](https://github.com/java-json-tools/json-schema-validator)) (Eclipse Public License v1.0)
56-
- Dart <a id="validator-dart"></a>
57-
- [json_schema](https://github.com/patefacio/json_schema) *supports draft 4* (BSL-1.0)
58-
- Erlang <a name="validator-erlang"></a>
59-
- [JeSSE](https://github.com/for-GET/jesse) (Apache 2.0)
60-
- Go <a name="validator-go"></a>
61-
- [gojsonschema](https://github.com/sigu-399/gojsonschema) (Apache 2.0)
62-
- [jsonschema](https://github.com/santhosh-tekuri/jsonschema) *supports draft 4, draft 6* (BSD-3-Clause)
63-
- Haskell <a id="validator-haskell"></a>
64-
- [aeson-schema](https://github.com/timjb/aeson-schema) (MIT)
65-
- [hjsonschema](https://github.com/seagreen/hjsonschema) - *supports draft 4* (MIT)
66-
- Java <a id="validator-java"></a>
67-
- [json-schema-validator](https://github.com/java-json-tools/json-schema-validator) - *supports draft 4* (LGPLv3)
68-
- [json-schema (implementation based on the org.json API)](https://github.com/everit-org/json-schema) - *supports draft 4, draft-6* (Apache License 2.0)
69-
- [json-schema-validator](https://github.com/networknt/json-schema-validator) - *supports draft 4* (Apache License 2.0)
70-
- JavaScript <a id="validator-javascript"></a>
71-
- [ajv](https://github.com/epoberezkin/ajv) for Node.js and browsers - *supports draft 4, draft 6, [custom keywords](https://github.com/epoberezkin/ajv-keywords) and [$data reference](https://github.com/json-schema-org/json-schema-spec/issues/51)* (MIT)
72-
- [djv](https://github.com/korzio/djv) for Node.js and browsers - *supports draft 4* (MIT)
73-
- [jsonschema](https://github.com/tdegrunt/jsonschema) for Node.js - *supports draft 4* (MIT)
74-
- [is-my-json-valid](https://github.com/mafintosh/is-my-json-valid) - *supports draft 4* (MIT)
75-
- [tv4](http://geraintluff.github.com/tv4/) - *supports draft 4* (Public Domain)
76-
- [JaySchema](https://github.com/natesilva/jayschema) for Node.js - *supports draft 4* (BSD)
77-
- [z-schema](https://github.com/zaggino/z-schema) for Node.js - *supports draft 4* (MIT)
78-
- [direct-schema](http://github.com/IreneKnapp/direct-schema) (BSD)
79-
- [JSV](http://github.com/garycourt/JSV) (BSD)
80-
- [json-schema](https://github.com/kriszyp/json-schema) (AFL or BSD) part of the [Persevere](http://github.com/kriszyp/json-schema) project
81-
- [schema.js](https://github.com/akidee/schema.js) (MIT)
82-
- [json-gate](https://github.com/oferei/json-gate) (MIT)
83-
- [JSEN](https://github.com/bugventure/jsen) for Node.js - *supports draft 4* (MIT)
84-
- PHP <a id="validator-php"></a>
85-
- [jsv4-php](https://github.com/geraintluff/jsv4-php) - *supports draft 4* (Public Domain / MIT)
86-
- [php-json-schema](https://github.com/hasbridge/php-json-schema) (MIT)
87-
- [json-schema](https://github.com/justinrainbow/json-schema) (Berkeley)
88-
- [JVal](https://github.com/stefk/jval) - *supports draft 4* (MIT)
89-
- [JSON Guard](https://github.com/thephpleague/json-guard) - *supports draft 4* (MIT)
90-
- Perl <a id="validator-perl"></a>
91-
- [JSV::Validator](https://metacpan.org/module/JSV::Validator) (MIT)
92-
- [JSON::Schema](https://metacpan.org/module/JSON::Schema) (MIT)
93-
- Python <a id="validator-python"></a>
94-
- [jsonschema](https://github.com/Julian/jsonschema) - *supports draft 4* (MIT)
95-
- [json-schema-validator](https://github.com/zyga/json-schema-validator) (LGPL)
96-
- Ruby <a id="validator-ruby"></a>
97-
- [ruby-jsonschema](https://github.com/Constellation/ruby-jsonchema) (MIT)
98-
- [json-schema](https://github.com/hoxworth/json-schema) - *supports draft 4* (MIT)
9941

10042
### Online
10143

0 commit comments

Comments
 (0)