Skip to content
This repository was archived by the owner on Nov 2, 2023. It is now read-only.

Commit 9818bf0

Browse files
authored
Merge pull request #1 from json-schema-org/master
Update from base
2 parents e9ff19f + 88565af commit 9818bf0

File tree

9 files changed

+185
-42
lines changed

9 files changed

+185
-42
lines changed

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,3 +2,4 @@
22
.sass-cache/
33
_site/
44
node_modules/
5+
.vscode/

_config.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ title: JSON Schema
1818
description: The home of JSON Schema
1919
baseurl: "" # the subpath of your site, e.g. /blog
2020
url: "" # the base hostname & protocol for your site
21-
#twitter_username: jekyllrb
21+
twitter_username: jsonschema
2222
github_username: json-schema-org
2323
google_analytics: UA-99695987-1
2424

_data/validator-libraries-modern.yml

Lines changed: 58 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
implementations:
44
- name: Json.NET Schema
55
url: https://www.newtonsoft.com/jsonschema
6-
date-draft:
6+
date-draft: [2019-09]
77
draft: [7, 6, 4, 3]
88
license: "AGPL-3.0-only"
99
- name: Manatee.Json
@@ -31,6 +31,12 @@
3131
date-draft:
3232
draft: [7]
3333
license: MIT
34+
- name: Valijson
35+
url: https://github.com/tristanpenman/valijson
36+
notes: header-only library, works with many JSON parser implementations
37+
date-draft:
38+
draft: [7]
39+
license: BSD-2-Clause
3440
- name: Clojure
3541
implementations:
3642
- name: jinx
@@ -43,6 +49,13 @@
4349
date-draft:
4450
draft: [7]
4551
license: Apache License, Version 2.0
52+
- name: Common Lisp
53+
implementations:
54+
- name: json-schema
55+
url: https://github.com/fisxoj/json-schema
56+
date-draft: [2019-09]
57+
draft: [4, 6, 7]
58+
license: LGPL
4659
- name: Elixir
4760
implementations:
4861
- name: Elixir JSON Schema validator
@@ -71,12 +84,18 @@
7184
license: BSD-3-Clause
7285
- name: qri-io/jsonschema
7386
url: https://github.com/qri-io/jsonschema
74-
date-draft:
87+
date-draft: [2019-09]
7588
draft: [7]
7689
license: MIT
7790
notes: includes custom validator support, rich error returns
7891
- name: Java
7992
implementations:
93+
- name: Snow
94+
url: https://github.com/ssilverman/snowy-json
95+
notes: Uses Maven for the project and Gson under the hood.
96+
date-draft: [2019-09]
97+
draft: [7, 6]
98+
license: GNU Affero General Public License v3.0
8099
- name: everit-org/json-schema
81100
url: https://github.com/everit-org/json-schema
82101
notes:
@@ -117,11 +136,23 @@
117136
date-draft:
118137
draft: [6, 4]
119138
license: MIT
139+
- name: Hyperjump JSV
140+
url: https://github.com/jdesrosiers/json-schema
141+
notes: "Built for Node.js and browsers. Includes support for custom vocabularies."
142+
date-draft: [2019-09]
143+
draft: [7, 6, 4]
144+
license: MIT
120145
- name: vue-vuelidate-jsonschema
121146
url: https://github.com/mokkabonna/vue-vuelidate-jsonschema
122147
date-draft:
123148
draft: [6]
124149
license: MIT
150+
- name: "@cfworker/json-schema"
151+
url: https://github.com/cfworker/cfworker/blob/master/packages/json-schema/README.md
152+
notes: "Built for Cloudflare workers, browsers, and Node.js"
153+
date-draft: [2019-09]
154+
draft: [7, 6, 4]
155+
license: MIT
125156
- name: Perl
126157
implementations:
127158
- name: JSON::Validator
@@ -130,6 +161,11 @@
130161
date-draft:
131162
draft: [7, 6, 4]
132163
license: "The Artistic License 2.0 (GPL Compatible)"
164+
- name: JSON::Schema::Draft201909
165+
url: https://github.com/karenetheridge/JSON-Schema-Draft201909
166+
notes:
167+
date-draft: [2019-09]
168+
license: "GNU General Public License, Version 1 + The Artistic License 1.0"
133169
- name: PHP
134170
implementations:
135171
- name: Opis Json Schema
@@ -158,6 +194,12 @@
158194
date-draft:
159195
draft: [7, 6, 4]
160196
license: BSD-3-Clause
197+
- name: jsonschema-rs
198+
url: https://github.com/Stranger6667/jsonschema-rs/python
199+
notes: Python bindings to Rust's jsonschema crate
200+
date-draft:
201+
draft: [7, 6, 4]
202+
license: MIT
161203
- name: Ruby
162204
implementations:
163205
- name: JSONSchemer
@@ -166,6 +208,14 @@
166208
date-draft:
167209
draft: [7, 6, 4]
168210
license: MIT
211+
- name: Rust
212+
implementations:
213+
- name: jsonschema-rs
214+
url: https://github.com/Stranger6667/jsonschema-rs
215+
notes: Fast due to compiling schema into a validation tree
216+
date-draft:
217+
draft: [7, 6, 4]
218+
license: MIT
169219
- name: Objective-C
170220
implementations:
171221
- name: DSJSONSchemaValidation
@@ -184,9 +234,14 @@
184234
license: MIT
185235
- name: Web (Online)
186236
implementations:
237+
- name: Hyperjump JSV
238+
url: https://json-schema.hyperjump.io
239+
date-draft: [2019-09]
240+
draft: [7, 6, 4]
241+
notes: Supports multiple schemas and multiple instances
187242
- name: JSON Schema Validator
188243
url: https://www.jsonschemavalidator.net/
189-
date-draft:
244+
date-draft: [2019-09]
190245
draft: [7, 6, 4, 3]
191246
- name: JSON Schema Lint
192247
url: http://jsonschemalint.com/

_layouts/default.html

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
<!DOCTYPE html>
2+
<html lang="{{ page.lang | default: site.lang | default: "en" }}">
3+
4+
{%- include head.html -%}
5+
6+
<body>
7+
8+
{%- include header.html -%}
9+
10+
<main class="page-content" aria-label="Content">
11+
{% if page.url != "/" %}
12+
<script async type="text/javascript" src="//cdn.carbonads.com/carbon.js?serve=CE7I627Y&placement=json-schemaorg" id="_carbonads_js"></script>
13+
{% endif %}
14+
<div class="wrapper">
15+
{{ content }}
16+
</div>
17+
</main>
18+
19+
{%- include footer.html -%}
20+
21+
</body>
22+
23+
</html>

assets/main.scss

Lines changed: 76 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -48,3 +48,79 @@ code {
4848
// minima.scss overrides
4949
$spacing-unit: 10px !default;
5050
$content-width: 960px !default;
51+
52+
// Carbon ads
53+
54+
#carbonads {
55+
max-width: 300px;
56+
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", Helvetica, Arial, sans-serif;
57+
display: flex;
58+
position: fixed;
59+
right: 10px;
60+
top: 90px;
61+
font-size: 12px;
62+
line-height: 1.45;
63+
background-color: #f9f9f9;
64+
border: 1px dashed;
65+
border-color: #cacaca;
66+
}
67+
68+
@media (max-width: 1420px) {
69+
#carbonads {
70+
display: block;
71+
position: relative;
72+
right: unset;
73+
top: unset;
74+
margin: auto;
75+
margin-bottom: 30px;
76+
overflow: hidden;
77+
max-width: 728px;
78+
font-size: 24px;
79+
box-sizing: content-box;
80+
}
81+
}
82+
83+
#carbonads > span {
84+
position: relative;
85+
display: block;
86+
padding: 10px;
87+
border-radius: 4px;
88+
}
89+
90+
#carbonads .carbon-wrap {
91+
display: flex;
92+
}
93+
94+
#carbonads .carbon-img {
95+
margin-right: 10px;
96+
line-height: 1;
97+
}
98+
99+
#carbonads .carbon-text {
100+
margin-bottom: 12px;
101+
color: #637381;
102+
text-decoration: none;
103+
}
104+
105+
#carbonads .carbon-poweredby {
106+
position: absolute;
107+
bottom: 10px;
108+
left: 152px;
109+
color: #c5cdd0;
110+
text-decoration: none;
111+
text-transform: uppercase;
112+
letter-spacing: .5px;
113+
font-weight: 500;
114+
font-size: 10px;
115+
line-height: 1;
116+
}
117+
118+
#carbonads .carbon-poweredby:hover {
119+
color: #637381;
120+
}
121+
122+
@media only screen and (min-width: 320px) and (max-width: 759px) {
123+
.carbon-text {
124+
font-size: 14px;
125+
}
126+
}

implementations.md

Lines changed: 19 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -150,28 +150,29 @@ For example, the only incompatibilities between draft-04 and draft-06 involve `e
150150
- .NET
151151
- [Json.NET](https://www.newtonsoft.com/jsonschema) (AGPL-3.0) - generates schemas from .NET types
152152
- [NJsonSchema](https://github.com/RSuter/NJsonSchema/) - (Ms-PL) - generates schemas from .NET types, see issue [574](https://github.com/RSuter/NJsonSchema/issues/574) for draft-06+ support progress
153-
- Golang
154-
- [qri-io/jsonschema](https://github.com/qri-io/jsonschema)(MIT) - idiomatic go implementation with custom validator support, coding to and from json, rich error returns *supports Draft 7*
155153
- PHP
156154
- [Liform](https://github.com/Limenius/liform) (MIT) - generates schemas from Symfony forms
157155
- TypeScript
158156
- [typescript-json-schema](https://github.com/YousefED/typescript-json-schema)
159157
- Python
160158
- [Pydantic](https://pydantic-docs.helpmanual.io/) (MIT) - generates schemas from Python models based on Python 3.6+ type hints.
161159
- Java
162-
- [jsonschema-generator](https://github.com/victools/jsonschema-generator) (Apache 2.0) - generates schemas from Java types *supports Draft 7*
160+
- [jsonschema-generator](https://github.com/victools/jsonschema-generator) (Apache 2.0) - generates schemas from Java types *supports Draft 7 and Draft 2019-09*
163161
- Scala
164162
- [scala-jsonschema](https://github.com/andyglow/scala-jsonschema) (Apache 2.0) - generates schemad out of Scala case classes
165163

166164
#### From data
167165

166+
- Java
167+
- [saasquatch/json-schema-inferrer](https://github.com/saasquatch/json-schema-inferrer) _draft-07, -06, -04_ (Apache 2.0) - Java library for inferring JSON Schemas from one or multiple JSON samples.
168168
- Scala
169169
- [Schema Guru](https://github.com/snowplow/schema-guru) (Apache 2.0) - CLI util, Spark Job and Web UI for deriving JSON Schemas out of corpus of JSON instances; see issue [178](https://github.com/snowplow/schema-guru/issues/178) for progress towards draft-06+ support
170+
- Clojure
171+
- [luposlip/json-schema](https://github.com/luposlip/json-schema) (Apache 2.0) - infer JSON Schema from Clojure data
170172
- Online (web tool)
171173
- [jsonschema.net](https://www.jsonschema.net/) - generates schemas from example data
172174
- [quicktype.io](https://app.quicktype.io/#l=schema) - infer JSON Schema from samples, and generate TypeScript, C++, go, Java, C#, Swift, etc. types from JSON Schema
173175

174-
175176
Generators from schemas
176177
-----------------------
177178

@@ -199,6 +200,8 @@ are the only keywords that changed.
199200
- [quicktype.io](https://app.quicktype.io/#l=schema) - infer JSON Schema from samples, and generate TypeScript, C++, go, Java, C#, Swift, etc. types from JSON Schema
200201
- PHP
201202
- [php-code-builder](https://github.com/swaggest/php-code-builder)(MIT) - generates PHP mapping structures defined by JSON schema using [swaggest/json-schema](https://github.com/swaggest/php-json-schema) *supports Draft 7*
203+
- Python
204+
- [yacg](https://github.com/OkieOth/yacg) (MIT) - parse JSON Schema and OpenApi files to build a meta model from them. This meta model can be used in Mako templates to generate source code, other schemas or plantUml.
202205
- Rust
203206
- [schemafy](https://github.com/Marwes/schemafy/) - generates Rust types and serialization code from a JSON schema. *supports Draft 4*
204207

@@ -213,6 +216,7 @@ Various levels of support for UI generation primarily from the validation vocabu
213216
- [Angular Schema Form](https://github.com/json-schema-form/angular-schema-form) (MIT)
214217
- [Angular2 Schema Form](https://github.com/makinacorpus/angular2-schema-form) *unrelated to Angular Schema Form* (MIT)
215218
- [Angular6-json-schema-form](https://github.com/hamzahamidi/Angular6-json-schema-form) (MIT)
219+
- [Dashjoin JSON Schema Form](https://github.com/dashjoin/json-schema-form) (Apache 2) *draft-06 (minus oneOf, anyOf, allOf, not)*
216220
- [JSON Editor](https://github.com/json-editor/json-editor) (MIT)
217221
- [JSON Form (joshfire)](https://github.com/joshfire/jsonform) (joshfire) (MIT)
218222
- [Json Forms (brutusin)](https://github.com/brutusin/json-forms) (brutusin) (MIT)
@@ -238,6 +242,9 @@ the utility, and decided on a case-by-case basis.
238242
- JavaScript
239243
- [json-schema-ref-parser](https://github.com/BigstickCarpet/json-schema-ref-parser) (MIT) Tools for dereferencing non-cyclic schemas, bundling referenced schemas into a single file, and other `$ref` processing.
240244
- [@cloudflare/json-schema-walker](https://github.com/cloudflare/json-schema-tools/tree/master/workspaces/json-schema-walker) ([JSON Schema Tools](https://github.com/cloudflare/json-schema-tools)), _draft-07, -06, -04, and Cloudflare's Doca extensions_ Walks schemas and runs pre- and post-walk callbacks. Can modify schemas in place. (BSD-3-Clause)
245+
- [@hyperjump/json-schema-core](https://github.com/jdesrosiers/json-schema-core)
246+
(MIT) Tools for working with schemas that handle identifiers and
247+
references. Build vocabularies and other JSON Schema based tools.
241248

242249
#### Schema to Schema
243250

@@ -271,22 +278,15 @@ _None currently support draft-06 or later._
271278

272279
#### Editors
273280

274-
_TODO: Sort by draft support._
275-
276281
- [Altova XMLSpy 2019r3](https://www.altova.com/xmlspy-xml-editor#json_schema) - *Graphical JSON Schema editor for draft-06 and draft-7, as well as validation of JSON files based on JSON Schema*
277-
- [Liquid XML Studio 2016](https://www.liquid-technologies.com/json-schema-editor) - *Graphical JSON schema editor for draft 4, context sensitive intellisense for JSON documents.*
278-
- [Visual Studio 2013](https://www.visualstudio.com/) - *Auto-completion and tooltips based on JSON schema draft 3 and draft 4*
279-
- [JSONBuddy](https://www.json-buddy.com/) - *Text and grid-style JSON editor and validator with context sensitive entry-helpers and sample data generation based on JSON schema. Support for draft 4, draft 6 and draft 7.*
280-
- [ReSharper 2016.1](https://www.jetbrains.com/resharper/) - *code completion, inspections and quick fixes for JSON schema in Visual Studio 2010 - 2015, including support for JSON Path and regular expressions for schema editing*
282+
- [Dashjoin JSON Schema editor](https://dashjoin.github.io/#/schema) - *Graphical online JSON Schema editor for draft-06 (minus oneOf, anyOf, allOf, not). The generated schema can be tested immediately via a form that is driven by it.*
283+
- [JSONBuddy](https://www.json-buddy.com/) - *Text and grid-style JSON editor and validator with context sensitive entry-helpers and sample data generation based on JSON schema. Support for draft-4, draft-6 and draft-7.*
284+
- [JSONEditor Online](https://jsoneditoronline.org/) - *View, edit, format, and validate JSON online* Support draft-4, draft-6, and draft-7.
285+
- [Oxygen JSON Editor](https://www.oxygenxml.com/xml_editor/json.html) - *JSON editor with a variety of editing features and helper views. Support for validation and editing JSON Schema draft-4, draft-6, and draft-7. Validation and editing of JSON files based on JSON Schema.*
286+
- [Stoplight Studio](https://stoplight.io/) - *JSON Schema IDE (text-based and GUI) with support for JSON/YAML linting, which can also be based on JSON Schema rules via Spectral. Support for draft-4, draft-6 and draft-7.*
281287
- [Visual Studio Code](https://code.visualstudio.com/) - *Schema driven code completion, hovers and validation for editing JSON files (including schemas)*
282-
- [JSONEditor Online](https://jsoneditoronline.org/) - *View, edit, format, and validate JSON online*
283-
- [JSON Schema Editor](https://json-schema-editor.tangramjs.com) - *An intuitive editor for JSON schema online*
284-
- [JSON Editor](https://json-editor.tangramjs.com) - *An online, schema-aware editor for JSON document*
288+
- [WebStorm](https://www.jetbrains.com/webstorm/), [IntelliJ IDEA](https://www.jetbrains.com/idea/), and other [JetBrains IDEs](https://www.jetbrains.com/products.html?fromMenu#type=ide) - *Code completion, documentation, and validation for JSON and YAML files using JSON Schema. Support for draft-4, draft-6, and draft-7.*
285289
- [Eclipse IDE](https://www.eclipse.org/downloads/eclipse-packages) - *Rich JSON edition supporting schema for instantaneous validation and error reporting, completion, documentation.*
286-
- [WebStorm](https://www.jetbrains.com/webstorm/), [IntelliJ IDEA](https://www.jetbrains.com/idea/), and other [JetBrains IDEs](https://www.jetbrains.com/products.html?fromMenu#type=ide) - *Code completion, documentation, and validation for JSON and YAML files using JSON Schema*
287-
- [JsonDraft](https://jsondraft.com/) - *Tree view JSON and JSON Schema editor online. Create and Save reusable components, Share JSON.*
288-
- [Oxygen JSON Editor](https://www.oxygenxml.com/xml_editor/json.html) - *JSON editor with a variety of editing features and helper views. Support for validation and editing JSON Schema draft-4, draft-6, and draft-7. Validation and editing of JSON files based on JSON Schema.*
289-
290290

291291
Schema Repositories
292292
-------------------
@@ -297,4 +297,5 @@ Schema Repositories
297297
Schema Linter
298298
-------------
299299

300-
- [json-schema-linter](https://www.json-schema-linter.com/) - Lint/validate/parse json-schema itself and find out out typo, missing properties, missing required keys etc. Supports draft 4, 6, and 7.
300+
- [json-schema-linter](https://www.json-schema-linter.com/) - Lint/validate/parse json-schema itself, and find typos, missing properties, missing required keys, etc. Supports draft 4, 6, and 7.
301+
- [Stoplight Spectral](https://stoplight.io/open-source/spectral) - A flexible JSON/YAML linter for creating automated style guides, with baked in support for OpenAPI v2/v3 and JSON Schema. Supports draft 4, 6, and 7.

index.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
---
2-
layout: page
2+
layout: default
33
title: JSON Schema
44
permalink: /
55
---

0 commit comments

Comments
 (0)