Was ist JSON? Aufbau, Regeln und Prüfung

Autor: Veröffentlicht

Kurz erklärt: JSON ist ein textbasiertes Format zum Speichern und Austauschen von Daten. Es wird unter anderem in Anwendungen, Konfigurationsdateien und zur Kommunikation mit Servern verwendet. Es strukturiert Informationen mithilfe von Namen, Werten und Listen, sodass sowohl Menschen als auch Programme sie lesen können. Es ist keine Programmiersprache: Es beschreibt Daten, enthält aber keine Anweisungen, die ausgeführt werden.

Wozu dient JSON?

Der Name JSON steht für JavaScript Object Notation. Obwohl das Format auf der Schreibweise von Objekten in JavaScript beruht, ist es von dieser Sprache unabhängig. Unterstützt wird es unter anderem von Python, Java, PHP und C#.

JSON wird häufig in einer API verwendet, also einer Schnittstelle, über die Programme miteinander kommunizieren. Wenn eine Shop-Anwendung Produktname, Preis und Verfügbarkeit von einem Server abruft, kann sie die Antwort in diesem Format erhalten. Die Anwendung liest die Werte aus und zeigt damit die Produktinformationen an.

Dasselbe Format dient dazu, Programmeinstellungen zu speichern, Daten zu exportieren oder Ereignisse zwischen Diensten zu übermitteln. Dateien haben meist die Endung .json. Daten im Format JSON können aber auch übertragen werden, ohne eine separate Datei anzulegen.

Wie sieht JSON aus und wie liest man es?

Die Grundlage vieler Dokumente im Format JSON ist ein Objekt, also eine Sammlung von Name-Wert-Paaren. Der Name wird auch als Schlüssel bezeichnet. Das folgende Beispiel beschreibt ein Produkt in einem Shop:

{
  "name": "Keramikbecher",
  "preis": 39.90,
  "waehrung": "PLN",
  "verfuegbar": true,
  "farben": ["weiß", "grün"],
  "hersteller": {
    "name": "Beispielwerkstatt"
  },
  "aktionscode": null
}

Geschweifte Klammern {} kennzeichnen ein Objekt. Ein Doppelpunkt trennt den Schlüssel vom Wert, ein Komma trennt die einzelnen Paare. In diesem Beispiel hat der Schlüssel name den Textwert Keramikbecher, während preis einen Zahlenwert hat.

Eckige Klammern [] kennzeichnen ein Array, also eine geordnete Liste von Werten. Die Liste farben enthält zwei Texte. hersteller wiederum ist ein Objekt innerhalb eines anderen Objekts. Durch eine solche Verschachtelung lassen sich zusammengehörige Informationen gruppieren.

JSON erlaubt sechs Arten von Werten:

Ein Dokument im Format JSON muss nicht als Ganzes ein Objekt sein. Es kann auch ein Array, ein Text, eine Zahl oder ein anderer zulässiger Wert sein. Eine bestimmte API kann allerdings eine festgelegte Struktur verlangen.

Schreibregeln und häufige Fehler

JSON hat eine strenge Syntax. Objektschlüssel und Textwerte müssen in doppelten Anführungszeichen stehen. Einfache Anführungszeichen sind kein Ersatz dafür. Dezimalzahlen werden mit einem Punkt statt einem Komma geschrieben, unabhängig von den polnischen Regeln zur Zahlenschreibweise.

Nach dem letzten Element eines Objekts oder Arrays darf kein Komma stehen. Standardkonformes JSON unterstützt auch keine Kommentare. Deshalb ist die folgende Schreibweise fehlerhaft:

{'name': 'Becher', 'preis': 39.90,}

Die korrekte Fassung sieht so aus:

{"name": "Becher", "preis": 39.90}

Leerzeichen, Einrückungen und Zeilenumbrüche außerhalb von Textwerten dienen der Lesbarkeit. Sie verändern die Bedeutung der Daten nicht. Einem Anführungszeichen innerhalb eines Textes muss dagegen ein umgekehrter Schrägstrich, ein Backslash, vorangestellt werden, zum Beispiel "Becher \"Poranek\"". Der Backslash selbst wird als \\ geschrieben.

Eine korrekte Syntax bedeutet noch nicht, dass die Daten korrekt sind. Der Wert "39.90" ist ein Text, 39.90 dagegen eine Zahl. Beides ist in JSON zulässig. Ein Programm, das eine Zahl erwartet, kann den Text jedoch zurückweisen. Ebenso sind null, ein leerer Text "" und ein fehlender Schlüssel unterschiedliche Fälle. Ihre Bedeutung hängt von der Anwendung ab.

Vermeiden Sie außerdem, denselben Schlüsselnamen innerhalb eines Objekts mehrfach zu verwenden. Programme können solche Daten unterschiedlich interpretieren und beispielsweise nur den letzten Wert behalten.

Wie öffnet und prüft man eine Datei im Format JSON?

Eine Datei im Format JSON lässt sich mit einem gewöhnlichen Texteditor öffnen. Komfortabler ist ein Code-Editor, der die Syntax farbig hervorhebt, Einrückungen ordnet und Fehler anzeigt. Zum bloßen Lesen müssen Sie weder einen Server starten noch eine Entwicklungsumgebung installieren.

Wenn eine Datei in der Anwendung nicht funktioniert, prüfen Sie sie in dieser Reihenfolge:

  1. Erstellen Sie vor der Bearbeitung eine Kopie der Datei.
  2. Prüfen Sie die Syntax mit einem Validierungswerkzeug für JSON: Anführungszeichen, Kommas und schließende Klammern.
  3. Vergleichen Sie die Feldnamen und Werttypen mit der Dokumentation der Anwendung.
  4. Prüfen Sie die Pflichtfelder und zulässigen Werte, etwa den Währungscode oder das Datumsformat.

JSON hat keinen eigenen Datentyp für Datumsangaben. Deshalb werden Datumswerte häufig als Text nach einer vereinbarten Konvention gespeichert. Die Anforderungen an die Struktur lassen sich mithilfe von JSON Schema beschreiben. Diese Regeln legen unter anderem Pflichtfelder und deren Typen fest.

Fügen Sie Dateien mit Passwörtern, Schlüsseln für eine API oder personenbezogenen Daten nicht in beliebige Online-Validatoren ein. Prüfen Sie solche Daten lokal mit einem vertrauenswürdigen Werkzeug.

Wann eignet sich JSON und wann ein anderes Format?

JSON eignet sich für Daten mit einer verschachtelten Struktur: Eine Bestellung enthält etwa einen Kunden, eine Adresse und eine Produktliste. Für eine einfache Tabelle, die in einer Tabellenkalkulation verwendet werden soll, kann CSV praktischer sein. Dieses Format speichert Daten in Zeilen und Spalten.

Bei der Anbindung an einen fremden Dienst können Sie das Format nicht frei wählen. Maßgeblich ist dessen Dokumentation. Beginnen Sie mit einer Beispielnachricht in der vom Dienst verlangten Form, ändern Sie einige Werte und prüfen Sie sowohl die Syntax als auch, ob die Felder den Vorgaben entsprechen. So können Sie einen Syntaxfehler in JSON von einem Fehler in den vom Programm erwarteten Daten unterscheiden.

Siehe auch: Was ist CDN?

Lesen Sie auch

Wie PHP-FPM PHP-Anfragen verarbeitet, sich vom Webserver unterscheidet und wie du Prozesse an Last und Hosting-Ressourcen anpasst.
BIND ist offene DNS-Serversoftware. Erfahre, welche Aufgaben sie übernimmt und wann sich der Betrieb eines eigenen Servers lohnt.
Was Polens REGON-Register und seine Kennnummer bedeuten, wie sie sich von NIP und KRS unterscheiden und wie Sie Unternehmensdaten prüfen.