You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository was archived by the owner on Nov 2, 2023. It is now read-only.
Copy file name to clipboardExpand all lines: learn/glossary.md
+14-2Lines changed: 14 additions & 2 deletions
Original file line number
Diff line number
Diff line change
@@ -36,6 +36,18 @@ While future drafts may introduce new behavior or changes to existing behavior,
36
36
37
37
The current list of drafts can be found [here](https://json-schema.org/specification-links.html#published-drafts).
38
38
39
+
### JSON
40
+
41
+
A pervasive data interchange format used for representing and transmitting data as human readable text.
42
+
JSON is extremely widely used, and parsers which can read and write it exist for essentially every commonly-used programming language.
43
+
44
+
JSON Schema, distinctly, is built *on top* of JSON, in that JSON [schemas](#schema) are themselves JSON objects which describe JSON values.
45
+
The two are, however, entirely different pieces of the conceptual puzzle, with JSON being a concrete format for *representing* data, and JSON Schema being a way to *schematize* data which is written in a JSON-compatible format.
46
+
47
+
The JSON format is an open format, with its own [homepage](https://www.json.org/), and specifications published in the [ECMA-404](http://www.ecma-international.org/publications/files/ECMA-ST/ECMA-404.pdf) and [RFC-8259](https://datatracker.ietf.org/doc/html/rfc8259) documents from ECMA and the IETF respectively.
48
+
In particular, it is not managed or developed by the JSON Schema team, who simply make use of the format.
49
+
50
+
39
51
### keyword
40
52
41
53
A property appearing within a [schema](#schema) object.
@@ -79,14 +91,14 @@ A document, written according to the proscribed structure of the JSON Schema spe
79
91
80
92
The rules constituting which schemas are conformant, as well as the rules governing their behavior when validating instances, are defined by the [JSON Schema specification](https://json-schema.org/specification.html).
81
93
82
-
Strictly speaking, according to the specification, schemas are themselves JSON documents, though it is somewhat common for them to be authored or maintained in other languages which are easily translated to JSON, such as YAML.
94
+
Strictly speaking, according to the specification, schemas are themselves [JSON documents](#JSON), though it is somewhat common for them to be authored or maintained in other languages which are easily translated to JSON, such as YAML.
83
95
84
96
In recent [drafts](#draft) of the specification, a schema is either a JSON object or a JSON boolean value.
85
97
86
98
### subschema
87
99
88
100
A [schema](#schema) which is itself contained within a surrounding parent schema.
89
-
Like schemas themselves, in recent [drafts](#draft) of JSON Schema, subschemas are either JSON objects or JSON boolean values.
101
+
Like schemas themselves, in recent [drafts](#draft) of JSON Schema, subschemas are either [JSON](#JSON) objects or JSON boolean values.
90
102
91
103
Within the JSON Schema specification and its [dialects](#dialect), a number of [keywords](#keyword) take subschemas as part of their values.
92
104
For example, the `not` keyword takes a subschema value and inverts its result, succeeding whenever the subschema does not succeed, such that the [instance](#instance)`12` is invalid under `{"type": "string"}` but valid under `{"not": {"type": "string"}}`, where `{"type": "string"}` is a subschema contained in the full schema.
0 commit comments