Altova XMLSpy 2024 Professional Edition

Genau wie in einem XML-Schema Struktur und Inhalt eines XML-Dokuments definiert sind, wird in einem JSON-Schema definiert, wie die JSON-Daten in einem JSON-Dokument strukturiert sind. Es wird definiert, welche Datenfelder erwartet werden und wie die Werte repräsentiert werden. Informationen zu JSON-Schemas und die JSON-Schema-Spezifikation finden Sie hier.

 

Ein JSON-Schema ist selbst ein JSON-Objekt. Lexikalisch steht das gesamte Schema innerhalb von geschweiften Klammern (siehe Codefragment unten). Geschweifte Klammern dienen als Trennzeichen für JSON-Objekte. Das Schema ist in JSON-Syntax geschrieben und normalerweise in einer Datei mit der Erweiterung .json gespeichert. Die Datei wird durch das Schlüsselwort \$schema, welches das erste Schlüsselwort des Objekts der obersten Ebene sein sollte, als JSON-Schema gekennzeichnet. Dieses Schlüsselwort sollte einen der folgenden Werte haben:

 

Versionen bis draft-07: "http://json-schema.org/draft-N/(hyper-)schema#", wobei N für die Versionsnummer (04, 06 oder 07) steht.

Versionen ab draft-2019-09: "https://json-schema.org/draft/JJJJ-MM/(hyper-)schema", wobei JJJJ und MM das Jahr bzw. den Monat des Entwurfs darstellen, z.B. 2019-09.

 

Hier finden Sie ein Beispiel dafür, wie das Schlüsselwort \$schema verwendet wird.

 

{

  "\$schema": "https://json-schema.org/draft/2020-12/schema",

  ...

}

 

Anmerkung:Zwar kann das Schlüsselwort \$schema den Wert "http://json-schema.org/schema#" haben. Dieser Wert definiert die neueste Version des Schemas. Am besten verwenden Sie eine URL zur Angabe einer bestimmten Version.. Nähere Informationen dazu finden Sie unter JSON-Schema-Version.  

 

 

Sie können ein JSON-Schema in XMLSpy grafisch in der JSON-Schema-Ansicht erstellen. Eine Anleitung dazu finden Sie im Abschnitt JSON-Schema-Ansicht. Neben den Schemabearbeitungsfunktionen in der Schema-Ansicht stehen im Zusammenhang mit Schemas die folgenden Funktionen zur Verfügung:

 

Validierung mit dem JSON Validator von XMLSpy: Weisen Sie einem JSON-Instanzdokument ein JSON-Schema zu und validieren Sie das Instanzdokument in XMLSpy. Nähere Informationen dazu finden Sie unter Validieren von JSON-Dokumenten.

Konfigurieren von JSON-Validierungsoptionen.

Generierung eines JSON-Schemas anhand einer JSON-Instanz: Wenn bereits ein JSON-Instanzdokument vorhanden ist, können Sie anhand dieses Dokuments ein JSON-Schema generieren. Falls nötig, können Sie das Schema später bearbeiten.

Konvertierung zwischen JSON und XML: Sie können Dokumente zwischen diesen beiden Formaten konvertieren.

 

Terminologie

Unten finden Sie Definitionen häufig verwendeter JSON-Schema-Begriffe, die in diesem Zusammenhang auf der Benutzeroberfläche und in dieser Dokumentation vorkommen.

 

Begriff

Definition

Schema

Das Schema-Objekt der obersten Ebene in einem JSON-Schema-Dokument; die Schema-Datei.

Objekt

Ein JSON-Typ, der null oder mehr Eigenschaften enthält

Eigenschaft

Ein Schlüssel:Wert-Paar eines Objekts. Der Wert dieses Objekts kann jeden beliebigen JSON-Datentyp haben.

Schlüsselwort

Der Schlüssel-Teil des Schlüssel:Wert-Paars eines Objekts. Dies ist immer ein String.

Subschema

Ein Objekt, das ein Child eines Operators oder einer Abhängigkeit ist.

Definition

Die komplette Definition eines jeden JSON-Typs. Definitionen können global oder lokal sein.

Array

Eine kommagetrennte geordnete Liste bestehend aus null oder mehr Elementen jedes beliebigen JSON-Datentyps.

Atomare Typen

Die JSON-Datentypen String, Zahl, Ganzzahl, Boolesch und Null.

Typ-Selektoren

Die Typen any und multiple, mit denen ein beliebiger bzw. mehrere Typen ausgewählt werden.

Operatoren

Occurrence-Selektoren, die als Children von Definitionen hinzugefügt werden können. Siehe dazu Abschnitt Operatoren.

 

JSON-Datentypen

Objekteigenschaftswerte und Array-Elemente können die folgenden Typen haben:

 

String (muss innerhalb von Anführungszeichen stehen). Für einen String kann zusätzlich ein Format wie z.B. date-time oder email definiert sein.

Zahl: Eine Zahl mit Nachkommastellen; dazu gehören auch Ganzzahlen.

Ganzzahl: Eine Zahl ohne Nachkommastellen; eine Teilmenge des Typs Zahl

Boolesch (true/false, steht nicht innerhalb von Anführungszeichen)

Objekt: Ermöglicht die Verschachtelung von Daten, wenn es innerhalb eines anderen Objekts verwendet wird.

Array: Bietet die Möglichkeit, komplexere als in Objekten zulässige Strukturen zu erstellen

Null (nicht in Anführungszeichen eingeschlossen)

 

© 2017-2023 Altova GmbH