Altova XMLSpy 2024 Enterprise Edition

Dieser Abschnitt enthält eine kurze Beschreibung zur Struktur von JSON-Daten. JSON-Daten werden normalerweise in einem JSON- (Instanz-)Dokument gespeichert, können aber auch als JSON-Datenfragment in einem Dokument eines anderen Typs gespeichert sein. Ein JSON-Datenfragment oder -Dokument ist eine JSON-Datenstruktur, die einer der unten beschriebenen Datenstrukturen entspricht.

 

XMLSpy unterstützt zusätzlich JSON5, eine Erweiterung von JSON, die zusätlich einige minimale  ECMScript 5-Erweiterungen enthält. Nähere Informationen dazu finden Sie unter json5.org.

 

JSON-Objekte und Arrays

Ein JSON-Dokument (Dateierweiterung lautet normalerweise .json) besteht aus den folgenden grundlegenden Datenstrukturen:

 

 

 

Objekt

Ein Objekt steht innerhalb von geschweiften Klammern. Es handelt sich hierbei um eine nicht geordnete Sammlung von null oder mehr Schlüssel:Wert-Paaren. Diese Schlüssel:Wert-Paare sind die Eigenschaften des Objekts. Der Schlüssel muss immer ein String sein und daher immer in Anführungszeichen stehen. Der Schlüssel (auch Name der Eigenschaft genannt) wird durch einen Doppelpunkt von seinem Wert getrennt. Ein Eigenschaftswert kann jeden beliebigen JSON-Datentyp haben (siehe Liste unten). Eine Eigenschaft wird durch ein Komma von der nächsten getrennt. Das Codefragment unten ist ein Beispiel für ein Objekt mit drei Eigenschaften (alle mit Werten vom atomaren Typ):

 

    {

      "emailtype": "home",

      "emailaddress": "contact01.home@altova.com",

      "citycode": 22

    }

 

 

 

Array

Ein Array steht innerhalb von eckigen Klammern und ist eine kommagetrennte, geordnete Liste bestehend aus null oder mehr Elementen. Bei diesen Elementen kann es sich um jeden beliebigen JSON-Datentyp (siehe Liste unten) handeln.

 

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)

 

Beispiel für JSON-Daten

Hier sehen Sie ein Beispiel für ein JSON-Datenfragment. Beachten Sie, dass das Dokument aus Objekten und Arrays besteht. Beachten Sie außerdem den Datentyp von Schlüsselwerten; String-Werte stehen innerhalb von Anführungszeichen, andere Typen werden grün angezeigt.

 

{

  "first": "Jason",

  "last": "Jones"

  "isManager": true,

  "age": 35,

  "address": {

    "street": "Jason Avenue",

    "city": "Jasonville",

    "state": "JS",

    "postcode": "JS12 ON34"

  },

  "phone": [

    {

      "type": "home",

      "number": "12 3456-7890"

    },

    {

      "type": "office",

      "number": "789 012-34567"

    }

  ],

  "children": [],

  "partner": null

}

 

Einige Unterschiede zwischen JSON5 und JSON

JSON5 ist eine streng eingegrenzte Untermenge von JavaScript, enthält keine neuen JSON-Datentypen und lässt sich mit jedem bestehenden JSON-Content verwenden. Es bestehen die folgenden Unterschiede zu JSON:

 

JSON5 unterstützt Kommentare. Kommentare stehen innerhalb von: // comment // oder /* comment */.

Die Schlüssel von Schlüssel:Wert-Paaren müssen in JSON5 nicht in von Anführungszeichen gesetzt werden.

Strings können in JSON5 über mehrere Zeilen reichen.

JSON5-Dokumente können anhand von JSON-Schemas, nicht aber anhand von Avro-Schemas validiert werden.

 

 

© 2017-2023 Altova GmbH