Skip to content

Commit 008b82c

Browse files
authored
Merge branch 'master' into patch-1
2 parents 757ef6f + b99ca52 commit 008b82c

32 files changed

+16292
-35
lines changed

README.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,10 +9,10 @@ For the current status of issues and pull requests, please see the following bad
99

1010
[![Issues](https://img.shields.io/github/issues-raw/json-schema-org/json-schema-org.github.io.svg)](https://github.com/json-schema-org/json-schema-org.github.io/issues)
1111

12-
[![Available](https://img.shields.io/waffle/label/json-schema-org/json-schema-org.github.io/Status:%20Available.svg?style=flat)](https://github.com/json-schema-org/json-schema-org.github.io/issues?q=is%3Aopen+is%3Aissue+label%3A%22Status%3A+Available%22) [![In Progress](https://img.shields.io/waffle/label/json-schema-org/json-schema-org.github.io/Status:%20In%20Progress.svg?style=flat)](https://github.com/json-schema-org/json-schema-org.github.io/labels/Status:%20In%20Progress) [![Review Needed](https://img.shields.io/waffle/label/json-schema-org/json-schema-org.github.io/Status:%20Review%20Needed.svg?style=flat)](https://github.com/json-schema-org/json-schema-org.github.io/labels/Status%3A%20Review%20Needed)
12+
[![Available](https://img.shields.io/github/issues/json-schema-org/json-schema-org.github.io/Status:%20Available.svg?color=brightgreen)](https://github.com/json-schema-org/json-schema-org.github.io/issues?q=is%3Aopen+is%3Aissue+label%3A%22Status%3A+Available%22) [![In Progress](https://img.shields.io/github/issues/json-schema-org/json-schema-org.github.io/Status:%20In%20Progress.svg)](https://github.com/json-schema-org/json-schema-org.github.io/labels/Status:%20In%20Progress) [![Review Needed](https://img.shields.io/github/issues/json-schema-org/json-schema-org.github.io/Status:%20Review%20Needed.svg)](https://github.com/json-schema-org/json-schema-org.github.io/labels/Status%3A%20Review%20Needed)
1313

14-
[![Critical](https://img.shields.io/waffle/label/json-schema-org/json-schema-org.github.io/Priority:%20Critical.svg?style=flat
15-
)](https://github.com/json-schema-org/json-schema-org.github.io/labels/Priority%3A%20Critical) [![High](https://img.shields.io/waffle/label/json-schema-org/json-schema-org.github.io/Priority:%20High.svg?style=flat)](https://github.com/json-schema-org/json-schema-org.github.io/labels/Priority%3A%20High) [![Medium](https://img.shields.io/waffle/label/json-schema-org/json-schema-org.github.io/Priority:%20Medium.svg?style=flat)](https://github.com/json-schema-org/json-schema-org.github.io/labels/Priority%3A%20Medium) [![Low](https://img.shields.io/waffle/label/json-schema-org/json-schema-org.github.io/Priority:%20Low.svg?style=flat)](https://github.com/json-schema-org/json-schema-org.github.io/labels/Priority%3A%20Low)
14+
[![Critical](https://img.shields.io/github/issues/json-schema-org/json-schema-org.github.io/Priority:%20Critical.svg?color=critical
15+
)](https://github.com/json-schema-org/json-schema-org.github.io/labels/Priority%3A%20Critical) [![High](https://img.shields.io/github/issues/json-schema-org/json-schema-org.github.io/Priority:%20High.svg?color=important)](https://github.com/json-schema-org/json-schema-org.github.io/labels/Priority%3A%20High) [![Medium](https://img.shields.io/github/issues/json-schema-org/json-schema-org.github.io/Priority:%20Medium.svg)](https://github.com/json-schema-org/json-schema-org.github.io/labels/Priority%3A%20Medium) [![Low](https://img.shields.io/github/issues/json-schema-org/json-schema-org.github.io/Priority:%20Low.svg)](https://github.com/json-schema-org/json-schema-org.github.io/labels/Priority%3A%20Low)
1616

1717
Labels are assigned based on [Sensible Github Labels](https://github.com/Relequestual/sensible-github-labels).
1818

_data/validator-libraries-modern.yml

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@
3131
- name: json-schema
3232
url: https://github.com/luposlip/json-schema
3333
draft: [7]
34-
license: Eclipse Public License 2.0
34+
license: Apache License, Version 2.0
3535
- name: Elixir
3636
implementations:
3737
- name: Elixir JSON Schema validator
@@ -69,7 +69,7 @@
6969
- name: Justify
7070
url: https://github.com/leadpony/justify
7171
notes:
72-
draft: [7]
72+
draft: [7, 6, 4]
7373
license: Apache License 2.0
7474
- name: Kotlin
7575
implementations:
@@ -134,7 +134,10 @@
134134
draft: [7, 6, 4, 3]
135135
- name: JSON Schema Lint
136136
url: http://jsonschemalint.com/
137-
draft: [6, 4, 3, 2, 1]
137+
draft: [7, 6, 4, 3, 2, 1]
138+
- name: ExtendsClass's JSON Schema Validator
139+
url: https://extendsclass.com/json-schema-validator.html
140+
draft: [7]
138141
- name: Command Line
139142
implementations:
140143
- name: ajv-cli

_includes/footer.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ <h2 class="footer-heading">{{ site.title | escape }}</h2>
1212
{% include icon-github.html username=site.github_username %}
1313
</li>
1414
{% endif %}
15-
<li>Discussion: <a href="https://join.slack.com/t/json-schema/shared_invite/enQtMjk1NDcyNDI2NTAwLTcyYmYwMjdmMmUxNzZjYzIxNGU2YjdkNzdlOGZiNjIwNDI2M2Y3NmRkYjA4YmMwODMwYjgyOTFlNWZjZjAyNjg">Slack</a> | <a href="https://groups.google.com/forum/#!forum/json-schema">Google Groups</a></li>
15+
<li>Discussion: <a href="https://join.slack.com/t/json-schema/shared_invite/enQtNjc5NTk0MzkzODg5LTVlZGIxNmVhMGY2MWFlYTdiNDQ5NWFiZGUwOThhNmYxZDE0YzA5YjRiOTA5MGY4ZTZlZGZhZDFmYTY4NWM2N2Y">Slack</a> | <a href="https://groups.google.com/forum/#!forum/json-schema">Google Groups</a></li>
1616
<li>Site edits: <a href="https://github.com/json-schema-org/json-schema-org.github.io">GitHub repo for site</a></li>
1717
</ul>
1818
</div>

_includes/header.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@
2525
<a class="page-link" href="{{ my_page.url | relative_url }}">{{ my_page.title | escape }}</a>
2626
{%- endif -%}
2727
{% endfor -%}
28-
<a class="page-link" href="https://join.slack.com/t/json-schema/shared_invite/enQtMjk1NDcyNDI2NTAwLTcyYmYwMjdmMmUxNzZjYzIxNGU2YjdkNzdlOGZiNjIwNDI2M2Y3NmRkYjA4YmMwODMwYjgyOTFlNWZjZjAyNjg">
28+
<a class="page-link" href="https://join.slack.com/t/json-schema/shared_invite/enQtNjc5NTk0MzkzODg5LTVlZGIxNmVhMGY2MWFlYTdiNDQ5NWFiZGUwOThhNmYxZDE0YzA5YjRiOTA5MGY4ZTZlZGZhZDFmYTY4NWM2N2Y">
2929
Discussion
3030
</a>
3131
</div>

implementations.md

Lines changed: 20 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -64,6 +64,9 @@ Validators
6464

6565
Benchmarks that compare at least two implementations supporting draft-06+ may be listed here.
6666

67+
- Go
68+
- [validator-benchmarks](https://github.com/TheWildBlue/validator-benchmarks) - benchmark of Go JSON Schema validators based on official test suite
69+
6770
- JavaScript
6871
- [json-schema-benchmark](https://github.com/ebdrup/json-schema-benchmark) - an independent benchmark for Node.js JSON-schema validators based on JSON-Schema Test Suite (MIT)
6972

@@ -149,6 +152,8 @@ For example, the only incompatibilities between draft-04 and draft-06 involve `e
149152
- [typescript-json-schema](https://github.com/YousefED/typescript-json-schema)
150153
- Python
151154
- [Pydantic](https://pydantic-docs.helpmanual.io/) (MIT) - generates schemas from Python models based on Python 3.6+ type hints.
155+
- Java
156+
- [jsonschema-generator](https://github.com/victools/jsonschema-generator) (Apache 2.0) - generates schemas from Java types *supports Draft 7*
152157

153158
#### From data
154159

@@ -180,6 +185,8 @@ are the only keywords that changed.
180185
- [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
181186
- PHP
182187
- [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*
188+
- Elm
189+
- [json-schema-to-elm](https://github.com/dragonwasrobot/json-schema-to-elm) - generates Elm types, JSON decoders+encoders, and fuzz tests from one or more JSON Schema files, using [dragonwasrobot/json_schema](https://github.com/dragonwasrobot/json_schema) *supports Draft 7*
183190

184191
#### Web UI generation
185192

@@ -192,14 +199,11 @@ Various levels of support for UI generation primarily from the validation vocabu
192199
- [Angular Schema Form](https://github.com/json-schema-form/angular-schema-form) (MIT)
193200
- [Angular2 Schema Form](https://github.com/makinacorpus/angular2-schema-form) *unrelated to Angular Schema Form* (MIT)
194201
- [Angular6-json-schema-form](https://github.com/hamzahamidi/Angular6-json-schema-form) (MIT)
195-
- [JSON Editor](https://github.com/jdorn/json-editor) (MIT)
202+
- [JSON Editor](https://github.com/json-editor/json-editor) (MIT)
196203
- [JSON Form (joshfire)](https://github.com/joshfire/jsonform) (joshfire) (MIT)
197204
- [Json Forms (brutusin)](https://github.com/brutusin/json-forms) (brutusin) (MIT)
198205
- [JSONForms (jsonforms.io)](https://jsonforms.io/) (EclipseSource) (MIT)
199-
- [Jsonary](https://github.com/jsonary-js/) (MIT)
200206
- [Liform-react](https://github.com/Limenius/liform-react) (MIT)
201-
- [Metawidget](https://metawidget.org/) (LGPL)
202-
- [pure-form webcomponent](https://github.com/john-doherty/pure-form) (MIT)
203207
- [React JSON Schema Form (mozilla)](https://github.com/mozilla-services/react-jsonschema-form) (Apache 2)
204208
- [React Schema Form (networknt)](https://github.com/networknt/react-schema-form) (MIT)
205209
- [uniforms (Vazco)](https://github.com/vazco/uniforms) (MIT)
@@ -232,7 +236,8 @@ the utility, and decided on a case-by-case basis.
232236

233237
#### Schema draft migration
234238

235-
_None currently support draft-06 or later._
239+
- Python
240+
- [hypothesis-jsonschema](https://github.com/Zac-HD/hypothesis-jsonschema) (MPL) *draft-07, -06, -04*; creates [Hypothesis](https://hypothesis.works/) strategies for documents which match any schema, even with complex and interacting constraints.
236241

237242
#### Format converters
238243

@@ -249,12 +254,14 @@ _None currently support draft-06 or later._
249254
#### Testing
250255

251256
- Python
257+
- [hypothesis-jsonschema](https://github.com/Zac-HD/hypothesis-jsonschema) (MPL) *draft-07, -06, -04*; creates [Hypothesis](https://hypothesis.works/) strategies for documents which match any schema, even with complex and interacting constraints.
252258
- [hypo\_schema](https://github.com/mlakewood/hypo_schema) (BSD-2-Clause) Creates generators for Hypothesis from JSON Schema
253-
259+
254260
#### Editors
255261

256262
_TODO: Sort by draft support._
257263

264+
- [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*
258265
- [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.*
259266
- [Visual Studio 2013](https://www.visualstudio.com/) - *Auto-completion and tooltips based on JSON schema draft 3 and draft 4*
260267
- [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.*
@@ -264,11 +271,17 @@ _TODO: Sort by draft support._
264271
- [JSON Schema Editor](https://json-schema-editor.tangramjs.com) - *An intuitive editor for JSON schema online*
265272
- [JSON Editor](https://json-editor.tangramjs.com) - *An online, schema-aware editor for JSON document*
266273
- [Eclipse IDE](https://www.eclipse.org/downloads/eclipse-packages) - *Rich JSON edition supporting schema for instantaneous validation and error reporting, completion, documentation.*
267-
- [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 files using JSON Schema*
274+
- [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*
268275
- [JsonDraft](https://jsondraft.com/) - *Tree view JSON and JSON Schema editor online. Create and Save reusable components, Share JSON.*
269276

270277

271278
Schema Repositories
272279
-------------------
273280

274281
- [SchemaStore.org](http://schemastore.org/json/) - validate against common JSON Schemas
282+
283+
284+
Schema Linter
285+
-------------
286+
287+
- [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.

index.md

Lines changed: 7 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,9 @@ permalink: /
77
***The current version is [draft-07](specification.html)!***
88
{: style="color:gray; font-size: 150%; text-align: center;"}
99

10+
***The next draft work-in-progress is [in final review](work-in-progress)!***
11+
{: style="color:red; font-size: 150%; text-align: center;"}
12+
1013
**JSON Schema** is a vocabulary that allows you to **annotate** and **validate** JSON documents.
1114

1215

@@ -37,21 +40,13 @@ permalink: /
3740

3841
## Project Status
3942

40-
### Update as of 31 March 2019
41-
42-
**You may be wondering _what in the world is going on with this draft?_ The short version is: we are entering the home stretch. There are some ideas for simplifying `$id` that we are considering, and then there will be a final review period for feedback on overall flow and clarity.**
43-
44-
As for the long version: The original intent was to publish by the time the previous draft by or at least soon after the current Core and Validation drafts expired on 20 September, 2018. The project is a volunteer project, and one editor was driving most of the large changes in this draft.
45-
46-
Unfortunately, that editor had a lot of Real Life Stuff(tm) to deal with this past year, including changing jobs (which put things on hold from about May through August or so) and then a run of minor health issues (which put things on hold from November through February). Other contributors made progress during those times,
47-
48-
As of March, everyone is back to working towards the publication of the draft as schedules permit.
43+
### Update as of 27 May 2019
4944

50-
We expect to publish a new round of drafts (Core, Validation, Hyper-Schema, Relative JSON Pointer) in the next month or two, and are actively working on the last few PRs. While the drafts are currently expired, they are still under active development. This project is staffed by volunteers, and life occasionally disregards IETF expiration schedules.
45+
**The forthcoming draft is in [final review](work-in-progress).**
5146

5247
This draft has also taken more time than expected because it tackles deep, long-term issues that have long been a challenge for JSON Schema. This includes building in a formal extensibility mechanism so that we can more easily draw a line to finalize the contents of the Core and Validation specifications.
5348

54-
Progress on the next set of Internet-Drafts can be tracked on GitHub. The [draft-08](https://github.com/json-schema-org/json-schema-spec/milestone/6) milestone will track the evolving scope of the draft (although see [issue #612](https://github.com/json-schema-org/json-schema-spec/issues/612) for a discussion of whether "draft-08" is the right name for this milestone).
49+
Additionally, numerous life issues reduced the availability of key contributors during the process.
5550

5651
### The Path to Standardization
5752

@@ -102,4 +97,4 @@ Questions? Feeling helpful? Get involved on:
10297

10398
* [GitHub](http://github.com/json-schema-org/json-schema-spec)
10499
* [Google Groups](https://groups.google.com/forum/#!forum/json-schema)
105-
* [Slack](https://join.slack.com/t/json-schema/shared_invite/enQtMjk1NDcyNDI2NTAwLTcyYmYwMjdmMmUxNzZjYzIxNGU2YjdkNzdlOGZiNjIwNDI2M2Y3NmRkYjA4YmMwODMwYjgyOTFlNWZjZjAyNjg)
100+
* [Slack](https://join.slack.com/t/json-schema/shared_invite/enQtNjc5NTk0MzkzODg5LTVlZGIxNmVhMGY2MWFlYTdiNDQ5NWFiZGUwOThhNmYxZDE0YzA5YjRiOTA5MGY4ZTZlZGZhZDFmYTY4NWM2N2Y)

learn/examples/calendar.schema.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
{
2-
"$id": "https://example.com/address.schema.json",
2+
"$id": "https://example.com/calendar.schema.json",
33
"$schema": "http://json-schema.org/draft-07/schema#",
44
"description": "A representation of an event",
55
"type": "object",

learn/examples/card.schema.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
{
2-
"$id": "https://example.com/address.schema.json",
2+
"$id": "https://example.com/card.schema.json",
33
"$schema": "http://json-schema.org/draft-07/schema#",
44
"description": "A representation of a person, company, organization, or place",
55
"type": "object",

obsolete-implementations.md

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -129,7 +129,7 @@ Hyper-Schema
129129
{% endfor %}
130130
</ul>
131131

132-
Schema generation
132+
Schema generators
133133
-----------------
134134

135135
- Python
@@ -143,6 +143,14 @@ Schema generation
143143
- Sparx Enterprise Architect
144144
- [API-Add-In](https://github.com/bayeslife/api-add-in) - Sparx EA extension for exporting JSON Schema from UML models
145145

146+
Generators from schemas
147+
-----------------------
148+
149+
#### Data from schemas
150+
151+
- JavaScript
152+
- [json-schema-generator](https://github.com/json-schema-faker) (MIT) - JSON-Schema + fake data generators
153+
146154
Data parsing and code generation
147155
--------------------------------
148156

specification.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -39,8 +39,8 @@ The meta-schemas are schemas against which other schemas can be validated. They
3939
The latest meta-schema is **draft-07**.
4040

4141
|--------------------------------------------------------------|------------------------------------------------------------|
42-
| [Core/Validation meta-schema](http://json-schema.org/draft-07/schema) | Used for schemas written for pure validation. |
43-
| [Hyper meta-schema](http://json-schema.org/draft-07/hyper-schema) | Used for schemas written for validation and hyper-linking. |
42+
| [Core/Validation meta-schema](https://json-schema.org/draft-07/schema) | Used for schemas written for pure validation. |
43+
| [Hyper meta-schema](https://json-schema.org/draft-07/hyper-schema) | Used for schemas written for validation and hyper-linking. |
4444

4545
_If you are accessing the above meta-schema links **from a web browser**, you will need to **save the file** then open it as a JSON document._
4646

0 commit comments

Comments
 (0)