JSON-Schema-Version
Das Schema ist in JSON-Syntax geschrieben und normalerweise in einer Datei mit der Erweiterung .json gespeichert. Durch das Schlüsselwort $schema, das das erste Schlüsselwort des Objekts der obersten Ebene sein und als Wert die URI der gewünschten JSON-Schema-Version haben sollte, ist es als JSON-Schema gekennzeichnet. Hier sehen Sie zwei Beispiele dafür, wie das Schlüsselwort $schema verwendet wird:
{
"$schema": "http://json-schema.org/draft-07/schema#",
...
}
{
"$schema": "http://json-schema.org/schema#",
...
}
Im ersten Beispiel oben wird die Schema-Version explizit benannt. Anstatt explizit eine Version auszuwählen, können Sie wie im zweiten Beispiel oben "http://json-schema.org/schema#" verwenden. Damit wird angegeben, dass die zu verwendende Schema-Version die neueste Version ist (derzeit draft-07).
Sie können in der JSON-Schema-Ansicht die Version in der Auswahlliste am oberen Rand des Hauptfensters ändern (siehe Abbildung unten).
Funktionen von neuen Schemaversionen, die in einer älteren Version nicht definiert sind
Wenn Sie eine Funktionalität aus einer neueren Schemaversion verwenden und anschließend zu einer älteren Version, die diese Funktionalität nicht unterstützt, wechseln, geschieht Folgendes:
•Es wird eine Meldung angezeigt, in der Sie gefragt werden, ob Sie die Funktion entfernen/konvertieren oder beibehalten möchten.
•Wenn Sie die neue Funktion beibehalten, wird die entsprechende Komponente für diese Funktionalität bzw. das entsprechende Detail in orangem Text angezeigt. Wenn z.B. für das Schlüsselwort const (neu in draft-06) ein Wert definiert wurde und Sie die Schemaversion in draft-04 ändern, wird der Wert des Schlüsselworts const orange angezeigt.
JSON-Schema-Versionen
Informationen zur JSON-Schema-Spezifikationen, insbesondere zu zusätzlichen Funktionalitäten in der jeweiligen Version finden Sie unter den nachstehenden Links:
JSON-Schema-Spezifikation: http://json-schema.org/specification.html
Anmerkungen zur Draft-06 Release: http://json-schema.org/draft-06/json-schema-release-notes.html
Anmerkungen zur Draft-07 Release: http://json-schema.org/draft-07/json-schema-release-notes.html
Draft 2019-09 (früher Draft-08): http://json-schema.org/specification-links.html#2019-09-formerly-known-as-draft-8
Draft 2020-12: http://json-schema.org/specification-links.html#2020-12
Zusätzlich dazu stehen die OpenAPI-Schema (oas-3.1) und folgenden Hyper-Schemas zur Verfügung: draft-04-hyper, draft-06-hyper, draft-07-hyper, 2019-09-hyper.
Links zu den Core- und Hyper-Schemas finden Sie hier: http://json-schema.org/specification-links.html.