Was ist JSON? Einsteiger-Guide mit Syntax und Beispielen

JSON ist ein Textformat für strukturierte Daten. Syntaxregeln, ein Beispiel und wie APIs JSON nutzen und wie Sie es testen.

Was ist JSON?

JSON (JavaScript Object Notation) ist ein Textformat für strukturierte Daten. Es baut Werte aus Objekten, Arrays, Zeichenketten, Zahlen, true, false und null auf. Jede Programmiersprache kann es lesen und schreiben, auch Menschen können es lesen, und es ist das Standardformat für Request- und Response-Bodys in Web-APIs. Der Medientyp lautet application/json.

So funktioniert JSON

Ein JSON-Dokument ist ein einzelner Wert, meist ein Objekt. Ein Objekt besteht aus "Schlüssel": Wert-Paaren in geschweiften Klammern, ein Array ist eine geordnete Liste in eckigen Klammern, und Werte lassen sich beliebig tief verschachteln. Definiert ist das Format in RFC 8259, eine gute Einführung für Einsteiger bietet MDN.

{
  "id": 42,
  "name": "Alice Johnson",
  "active": true,
  "tags": ["admin", "beta-tester"],
  "address": { "city": "Berlin", "zip": "10115" },
  "last_login": "2026-10-01T14:30:00Z",
  "avatar": null
}

JSON kennt keinen Datumstyp. Datumsangaben werden deshalb als Zeichenketten übertragen (üblich ist ISO 8601), und Ihr Code wandelt sie um.

Syntaxregeln, über die man stolpert

  • Schlüssel und Zeichenketten stehen in doppelten Anführungszeichen. Einfache sind ungültig.
  • Nach dem letzten Element steht kein Komma.
  • Kommentare gibt es nicht.
  • Kein undefined, NaN oder Infinity. Verwenden Sie null oder lassen Sie den Schlüssel weg.
  • Zahlen dürfen keine führenden Nullen haben.
  • Zwischen Systemen ausgetauschter Text muss UTF-8 sein.

Jedes JSON-Dokument ist ein gültiges JavaScript-Literal, umgekehrt gilt das nicht: Ein JavaScript-Objekt mit Schlüsseln ohne Anführungszeichen oder mit abschließendem Komma ist kein JSON.

JSON lesen und erzeugen

Text in Daten umzuwandeln heißt Parsen (Deserialisierung), Daten in Text umzuwandeln Serialisierung. Jede gängige Sprache bringt das in der Standardbibliothek mit:

// JavaScript
const data = JSON.parse('{"id": 42}');
const text = JSON.stringify({ id: 42 });

# Python
import json
data = json.loads('{"id": 42}')
text = json.dumps({"id": 42})

Um eine minimierte Antwort bequem zu lesen, fügen Sie sie in das kostenlose JSON-Prettify-Tool ein und erhalten sie eingerückt zurück.

JSON in APIs

Die meisten REST-APIs tauschen JSON aus. Der Client setzt bei Requests mit Body den Header Content-Type: application/json, und der Server antwortet mit demselben Header. Der Inhalt des Bodys ist die Payload der Anfrage oder Antwort, und die URL, an die sie geht, ist der API-Endpunkt.

POST /api/users HTTP/1.1
Content-Type: application/json

{ "email": "alice@example.com", "name": "Alice" }

Genau diese Anfrage können Sie mit dem Online-curl-Tool von der Kommandozeile aus senden. JSON ist außerdem das Nachrichtenformat von JSON-RPC, einem Protokoll, das entfernte Methoden aufruft, statt Ressourcen anzusprechen.

JSON validieren

Gültige Syntax heißt nur, dass ein Parser den Text lesen kann. Ob die Daten stimmen, sagt sie nicht. Ein JSON Schema beschreibt, welche Felder Pflicht sind, welchen Typ sie haben und welche Werte erlaubt sind. So kann ein Validator eine Payload ablehnen, die zwar parsebar ist, aber "age": "forty" enthält. Wie man eines schreibt, zeigt unsere Schritt-für-Schritt-Anleitung zu JSON Schema (auf Englisch).

Häufige JSON-Fehler

  • JSON per String-Verkettung zusammenbauen. Ein nicht maskiertes Anführungszeichen in einem Namen zerstört das Dokument. Serialisieren Sie immer mit einer Bibliothek.
  • Den Content-Type-Header vergessen. Viele Server behandeln den Body dann als Klartext oder Formulardaten und antworten mit 400 oder 415.
  • Große Ganzzahlen als Zahl senden. Manche Parser, auch in JavaScript, verlieren bei sehr großen Ganzzahlen wie 64-Bit-IDs an Genauigkeit. Senden Sie sie als Zeichenketten.
  • Sich auf die Schlüsselreihenfolge verlassen. Objekte sind ungeordnete Mengen von Membern. Verlassen Sie sich nicht auf eine bestimmte Reihenfolge.
  • Feldnamen oder Typen ohne Ankündigung ändern. Ein umbenanntes Feld ist für jeden Client, der es liest, ein Breaking Change.

JSON, Testing und Monitoring

JSON-Probleme äußern sich selten als Absturz. Eine Antwort mit Status 200 kann trotzdem eine leere Liste oder ein fehlendes Feld enthalten. Prüfen Sie beim Testen einer API deshalb nicht nur den Statuscode, sondern auch den Body. Das API-Monitoring von LoadFocus prüft Statuscode, Response-Body, Header und Antwortzeit nach Zeitplan, im kostenlosen Tarif alle 5 Minuten. Eine kaputte Payload löst so einen Alarm aus, statt erst von Kunden bemerkt zu werden.

Häufige Fragen zu JSON

Wofür steht JSON?

JSON steht für JavaScript Object Notation. Das Format ist aus der Objektsyntax von JavaScript entstanden, aber eigenständig und unabhängig von der Sprache.

Ist JSON eine Programmiersprache?

Nein. JSON beschreibt nur Daten. Es hat keine Variablen, Funktionen oder Logik, zum Erzeugen und Lesen braucht man eine Programmiersprache.

Was ist der Unterschied zwischen JSON und einem JavaScript-Objekt?

JSON ist Text, ein JavaScript-Objekt liegt im Arbeitsspeicher. JSON ist strenger: Schlüssel brauchen doppelte Anführungszeichen, Kommentare und abschließende Kommas sind verboten, und Funktionen oder undefined lassen sich nicht darstellen.

Darf JSON Kommentare enthalten?

Nein. Der Standard kennt keine Kommentarsyntax. Für Notizen nehmen Sie ein eigenes Dokumentationsfeld oder ein Format, das für Konfigurationsdateien gedacht ist.

Warum nutzen APIs JSON statt XML?

JSON ist kürzer, passt direkt auf Objekte und Arrays der meisten Sprachen und braucht weniger Code zum Parsen. XML ist weiterhin besser, wenn Text und Markup gemischt vorkommen, etwa bei Dokumenten.

Wie schnell ist Ihre Website?

Steigern Sie ihre Geschwindigkeit und SEO nahtlos mit unserem kostenlosen Geschwindigkeitstest.

Kostenloser Websitespeed-Test

Analysieren Sie die Ladegeschwindigkeit Ihrer Website und verbessern Sie ihre Leistung mit unserem kostenlosen Seitengeschwindigkeits-Checker.