Skip to content

Commit c6cdca7

Browse files
committed
Attempt to better clarify differences between JSON Schema and other projects
1 parent de56ea4 commit c6cdca7

File tree

1 file changed

+7
-4
lines changed

1 file changed

+7
-4
lines changed

docs/openjsf/application.md

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -70,18 +70,21 @@ Use cases such as code generation, form generation, database generation (and val
7070

7171
- How does it differ from other projects?
7272

73-
Some consider JSON Schema to be an Data Definition Language, others are only familiar with it through the use of OpenAPI or AsyncAPI.
73+
JSON Schema is a domain-specific declarative language for validating and annotating JSON data.
7474

75-
It cannot be compared to OpenAPI, as they are different. OpenAPI 3.1 now defers the schema definitions to JSON Schema[1]. Nor can it be compared to JSON-LD, which is designed for linked data. Nor can it be compared to schema.org which provides data semantics.
75+
It cannot be compared to OpenAPI. OpenAPI 3.1 now defers the schema definitions to the most recent release of JSON Schema[1]. Nor can it be compared to JSON-LD, which is designed for linked data. Nor can it be compared to schema.org which provides data semantics.
7676

7777
A possible comparison is to JSON Type Definition (RFC 8927), which is designed for code generation.
7878
By way of comparison, JSON Schema has an extensive test suite, many more implementations and languages supported, and has vastly more use in the ecosystem.
7979

80-
Procol Buffers and Avro do not just specify a structure, but define the "over the wire" format and serialisation method. JSON Schema does not do that.
80+
Protocol Buffers and Avro do not just specify a structure, but define the "over the wire" format and serialisation method. JSON Schema is designed for validation of JSON data rather than data definitions, enabling the definition of more complex validation constraints than would otherwise be possible.
8181

8282
In comparison to Joi, a popular and well used Javascript validation library, JSON Schema offers a language agnostic and portable validation mechanism.
8383

84-
Beyond validation, at its core, JSON Schema enables the definition of contracts in terms of a JSON data structure, something of critical importance to REST like APIs.
84+
Many times we see comparisons made from one solution to JSON Schema. Often, they miss several key understandings.
85+
In summary, JSON Schema is language agnostic, declarative constraints based, interoperable, validation and annotation for JSON.
86+
87+
Beyond validation and annotation, we are actively supporting special interest groups to define new vocabularies and dialects to add additional semantics and mechanisms to JSON Schema in order to support other use cases, such as UI generation, code generation, and databases.
8588

8689
## Desired Initial Project Phase
8790

0 commit comments

Comments
 (0)