JSON ist das Format, in dem Daten heute durch das Web reisen. Es sieht aus wie ein JavaScript-Objekt und ist doch nur Text.
- JSON
Ein textbasiertes Datenformat aus Paaren von Name und Wert sowie Listen, das sich von praktisch jeder Sprache lesen und schreiben lässt.
Beispiel: „Die Schnittstelle liefert die Produktdaten als JSON.“Die Abkürzung steht für JavaScript Object Notation, auf Deutsch etwa JavaScript-Objektschreibweise.
Abgrenzung zum Objekt: JSON sieht aus wie ein JavaScript-Objekt und ist doch nur Text. Es muss erst umgewandelt werden, bevor Code damit arbeiten kann.
Warum es sich durchgesetzt hat
Weil es wenig kann und das gut. Es kennt sechs Arten von Werten und keine Attribute, keine Namensräume, keine Kommentare. Dadurch ist eine Datei kurz, schnell zu lesen und in jeder Sprache mit einem Aufruf verarbeitet.
Gegenüber XML, das vorher diese Rolle hatte, spart das spürbar Zeichen und Aufwand. Für Dokumente ist XML weiterhin überlegen, für Daten hat JSON gewonnen.
{
"titel": "Stuhl",
"preis": 89.0,
"verfuegbar": true,
"farben": ["rot", "blau"],
"hersteller": { "name": "Beispiel GmbH", "land": "DE" }
}Die Stolpersteine
Vier Dinge gehen regelmäßig schief. Namen und Textwerte brauchen doppelte Anführungszeichen. Nach dem letzten Eintrag darf kein Komma stehen. Kommentare gibt es nicht. Und für ein Datum gibt es keinen eigenen Typ, es steht als Zeichenkette drin.
Der letzte Punkt ist in Projekten der häufigste Grund für Missverständnisse. Wer ein Datum überträgt, sollte die Schreibweise nach ISO 8601 vereinbaren, also Jahr, Monat, Tag mit Bindestrichen.
Wo es überall steckt
In jeder Antwort einer Schnittstelle, in Konfigurationsdateien, in den Paketbeschreibungen von npm und Composer und in den strukturierten Daten, mit denen Suchmaschinen eine Seite verstehen. JSON-LD ist JSON mit vereinbarter Bedeutung der Feldnamen.