Was ist ein JSON-Dokument?
Ein JSON-Dokument ist strukturierter Text aus Objekten, Arrays, Strings, Zahlen, Booleans und null. Syntax, Beispiel und typische Fehler beim Parsen.
Was ist ein JSON-Dokument?
Ein JSON-Dokument ist eine Textdatei oder Nachricht in JavaScript Object Notation: ein kleines, menschenlesbares Format für strukturierte Daten aus Objekten, Arrays, Strings, Zahlen, Booleans und null. APIs, Konfigurationsdateien und Dokumentdatenbanken nutzen es, weil jede gängige Sprache es parsen kann. Das Format ist in RFC 8259 und ECMA-404 festgelegt. Einen ersten Rundgang durch die Syntax bietet JSON: Einführung für Einsteiger.
Die Werttypen
Nach RFC 8259 ist ein JSON-Wert ein Objekt, ein Array, eine Zahl oder ein String oder einer der drei Literalnamen true, false und null.
- Objekt:
{ "key": value }, eine Menge von Name-Wert-Paaren. Namen sind immer Strings. - Array:
[ value, value ], eine geordnete Liste. - String:
"hello", Text in doppelten Anführungszeichen. - Zahl:
42,3.14,1e10. Das Format unterscheidet nicht zwischen Ganzzahlen und Dezimalzahlen. - Boolean:
trueoderfalse, kleingeschrieben und ohne Anführungszeichen. - Null:
null, das ausdrückliche Fehlen eines Werts.
Es gibt keinen Datumstyp, keinen Binärtyp und keine Kommentarsyntax. Datumsangaben und Binärdaten werden per Konvention als Strings übertragen.
Ein Beispiel
{
"id": "order_42",
"customer": { "name": "Alice", "verified": true },
"items": [
{ "sku": "WIDGET-1", "qty": 2, "price": 9.99 },
{ "sku": "GIZMO-7", "qty": 1, "price": 19.95 }
],
"shipped_at": null,
"tags": ["priority", "gift"]
}
Jeder Wert gehört zu einem der obigen Typen, und Objekte und Arrays lassen sich beliebig tief verschachteln. Derselbe Text ergibt in jeder Sprache dieselbe Struktur.
Wo JSON-Dokumente vorkommen
- APIs: Request- und Response-Bodies, meist mit dem Medientyp
application/json. Siehe API-Payloads und für den Remote-Call-Stil, der seine Nachrichten in JSON verpackt, JSON-RPC. - Konfiguration:
package.jsonundtsconfig.jsonsind alltägliche Beispiele. - Dokumentdatenbanken: MongoDB, Firestore und DynamoDB arbeiten mit dokumentförmigen Daten.
- Logs: Strukturiertes Logging schreibt ein JSON-Objekt pro Zeile.
- Strukturierte Daten für die Suche: JSON-LD bettet schema.org-Daten in eine Webseite ein.
Fehler, die JSON ungültig machen
- Abschließende Kommas.
{"a":1,}ist ungültig. JavaScript toleriert es, JSON nicht. - Kommentare. JSON kennt keine. Formate wie JSON5 und JSONC ergänzen sie, ein strikter Parser lehnt sie aber ab.
- Einfache Anführungszeichen oder Namen ohne Anführungszeichen. Namen und Strings brauchen doppelte Anführungszeichen.
- Große Ganzzahlen. RFC 8259 weist darauf hin, dass Software üblicherweise IEEE-754-Doubles verwendet, und das gilt auch für
JSON.parsein JavaScript. Ganzzahlen über 2^53 - 1 (9007199254740991) können daher an Genauigkeit verlieren. Senden Sie 64-Bit-IDs als Strings. - Doppelte Namen. Laut RFC sollen Namen innerhalb eines Objekts eindeutig sein, sonst ist das Verhalten unvorhersehbar.
- Falsche Kodierung. Zwischen Systemen ausgetauschter JSON-Text muss laut RFC UTF-8 sein.
JSON im Vergleich zu anderen Formaten
- YAML lässt sich leichter von Hand schreiben und erlaubt Kommentare, weshalb CI- und Kubernetes-Dateien es nutzen. Es ist zudem einrückungsempfindlich.
- XML eignet sich für Dokumentenauszeichnung und ältere Unternehmenssysteme, mit der Folge einer umständlicheren Syntax.
- Protocol Buffers sind binär und brauchen ein Schema. Das passt zu RPC mit hohem Volumen, ist aber schwerer zu lesen.
Wie ein gültiges Dokument aussehen soll, beschreibt JSON Schema. Der LoadFocus-Blog erklärt es in What is JSON Schema.
JSON-Endpunkte testen
Ein JSON-Endpunkt kann 200 mit dem falschen Body liefern. LoadFocus API Monitoring prüft Statuscode, Response-Body, Header und Antwortzeit nach Zeitplan und nennt einen JSON-Schema-Abgleich als Beispielprüfung. Kostenlose Checks laufen alle 5 Minuten. Wie sich ein Endpunkt bei vielen gleichzeitigen Aufrufern verhält, zeigt ein API-Lasttest. Mehr zur Praxis steht unter API-Monitoring.
Häufige Fragen: JSON-Dokumente
Was ist der Unterschied zwischen JSON und einem JavaScript-Objekt?
JSON ist Text. Ein JavaScript-Objekt ist ein Wert im Arbeitsspeicher. JSON ist strenger: Namen und Strings brauchen doppelte Anführungszeichen, und es kann weder Funktionen noch undefined noch Kommentare enthalten. JSON.parse wandelt den Text in ein Objekt um.
Wie validiere ich ein JSON-Dokument?
Schicken Sie es durch einen Parser. In der Kommandozeile gibt jq . file.json das Dokument oder den ersten Syntaxfehler aus. Um neben der Syntax auch die Struktur zu prüfen, validieren Sie gegen ein JSON Schema.
Wie groß darf ein JSON-Dokument sein?
Das Format setzt keine Grenze. Grenzen kommen vom Parser, der das ganze Dokument in den Speicher laden kann, und von Servern und Gateways dazwischen. Für sehr große Datenmengen senden Sie ein JSON-Objekt pro Zeile (NDJSON) oder nutzen ein Binärformat.
Wie speichere ich ein Datum in JSON?
JSON hat keinen Datumstyp. Üblich ist ein ISO-8601-String wie "2026-05-07T08:22:00Z". Beide Seiten müssen sich darauf einigen.
Sollte ich JSON oder YAML für Konfiguration nutzen?
JSON für Dateien, die Werkzeuge erzeugen. YAML für Dateien, die Menschen von Hand bearbeiten und bei denen Kommentare zählen. Viele Ökosysteme haben eine Konvention, der Sie folgen sollten.
Verwandte LoadFocus-Tools
Setze dieses Konzept mit LoadFocus in die Praxis um, derselben Plattform, die alles antreibt, was du gerade gelesen hast.