Skip to main content
Inhaltsverzeichnis
Einsteiger13 Min.

JSON – strukturierte Daten für Anwendungen, APIs und KI-Agenten

Ein umfassender praktischer Leitfaden zum JSON-Format: Syntaxregeln, Serialisierung über parse/stringify, Arbeit mit REST-APIs, JSON Schema und strukturierter Output für künstliche Intelligenz.

Veröffentlicht:
FÜR KI-AGENTChatGPTClaude

1. Was ist JSON und warum wurde es zum Standard

Das Format JSON (JavaScript Object Notation) ist ein universeller Standard für den Austausch strukturierter Daten zwischen Webservern, Client-Anwendungen, Datenbanken und modernen AI-Agenten.

Wenn Computerprogramme miteinander interagieren, ist die Übertragung von Informationen als unstrukturierter Text ineffizient:

„Olena Kowaltschuk, 29 Jahre alt, Kiew, Premium-Abonnement aktiv, Fähigkeiten: Python, SQL.“

Ein Mensch versteht diese Beschreibung leicht, aber ein Algorithmus würde erhebliche Ressourcen für die Entitätserkennung aufwenden. Im JSON-Format sehen dieselben Daten streng und deterministisch aus:

json
{ "id": 1042, "name": "Олена Ковальчук", "age": 29, "city": "Київ", "isPremium": true, "skills": ["Python", "SQL"] }

Jeder Parser in jeder Programmiersprache (JavaScript, Python, Go, Rust) liest sofort den Schlüssel "city" und erhält den Wert "Kiew", ohne Mehrdeutigkeiten.

mermaid
flowchart LR A["Клієнтський UI<br><i>(React / Mobile App)</i>"] -->|HTTP POST JSON| B["REST API Сервер<br><i>(Node.js / Python)</i>"] B -->|SQL / NoSQL JSONB| C["База даних<br><i>(PostgreSQL / MongoDB)</i>"] B -->|Structured Output JSON| D["LLM / AI-Агент<br><i>(Claude / OpenAI)</i>"]

Warum JSON nicht von JavaScript abhängt

Trotz des Namens ist JSON ein vollständig sprachunabhängiges Textformat. Es verfügt über einen eigenen RFC-Standard (RFC 8259) und wird von allen modernen Ökosystemen über den standardmäßigen MIME-Typ application/json unterstützt.


2. Anatomie von JSON: Syntax von Objekten, Arrays und Primitiven

Alle Daten im JSON-Format basieren auf zwei zentralen Containern (Objekte und Arrays) sowie sechs grundlegenden Wertetypen.

Objekt (JSON Object)

Ein Objekt repräsentiert eine ungeordnete Menge von Paaren Schlüssel: Wert, die zwingend in geschweifte Klammern {} gesetzt werden. Der Schlüssel muss immer ein Textstring in doppelten Anführungszeichen sein.

json
{ "username": "alex_dev", "email": "alex@example.com", "role": "admin" }
Syntaxdiagramm eines JSON-Objekts ЗбільшитиSyntaxdiagramm eines JSON-ObjektsSyntaxdiagramm eines JSON-Objekts

Array (JSON Array)

Ein Array ist eine geordnete Liste von Werten beliebigen Typs, eingeschlossen in eckige Klammern []. Die Elemente eines Arrays werden bei null indiziert.

json
{ "supportedLocales": ["uk", "en", "es", "de"], "primeNumbers": [2, 3, 5, 7, 11] }
Syntaxdiagramm eines JSON-Arrays ЗбільшитиSyntaxdiagramm eines JSON-ArraysSyntaxdiagramm eines JSON-Arrays

Zulässige Wertetypen (Values)

In JSON sind genau 6 Wertetypen erlaubt:

Zulässige Wertetypen in der JSON-Spezifikation ЗбільшитиZulässige Wertetypen in der JSON-SpezifikationZulässige Wertetypen in der JSON-Spezifikation
WertetypBeschreibung & SchreibregelnBeispiel
StringFolge von Unicode-Zeichen in doppelten Anführungszeichen"Hello, World!"
NumberGanzzahl oder Dezimalzahl (ohne Anführungszeichen, keine Hexadezimalzahlen)42, -12.5, 1.5e3
BooleanNur Kleinbuchstaben: true oder falsetrue, false
NullKennzeichnung einer bewussten Abwesenheit eines Wertesnull
ObjectVerschachtelter Container für Schlüssel-Wert-Paare{"nested": true}
ArrayVerschachtelte Liste von Elementen[1, 2, 3]

3. Strenge Syntaxregeln und typische Fallstricke

Die JSON-Syntax ist deutlich strenger als die flexible Syntax von JavaScript oder Python. Ein Fehler in nur einem Zeichen bricht die Validierung des gesamten Dokuments ab.

Die fünf wichtigsten Syntaxregeln

  1. Nur doppelte Anführungszeichen: Schlüssel und Textstrings müssen in "doppelten Anführungszeichen" stehen. Einfache Anführungszeichen 'text' verursachen einen fatalen Parser-Fehler.
  2. Keine trailing commas: Nach dem letzten Element eines Objekts oder Arrays darf kein Komma stehen. Dies ist strikt verboten.
  3. Doppelpunkt als einziger Trennzeichen: Der Schlüssel wird vom Wert ausschließlich durch einen Doppelpunkt : getrennt.
  4. Vollständiges Fehlen von Kommentaren: Die JSON-Spezifikation unterstützt keine Kommentare wie // oder /* */. Alle Erläuterungen müssen als normale Felder im Dokument formuliert werden (z. B. "_comment": "Erläuterung").
  5. Verbotene Datentypen: In JSON können keine undefined, NaN, Infinity, regulären Ausdrücke oder Funktionen übertragen werden.

Vergleich von gültigem und ungültigem JSON


4. Unterschiede zwischen JSON und JavaScript-Objekten

Anfänger verwechseln oft das JavaScript-Objekt-Literal mit dem JSON-Format. Zwischen beiden besteht jedoch ein grundlegender Unterschied.

mermaid
flowchart TD subgraph Текстовий_Рядок["JSON (Символьний потік)"] J["'{\"name\":\"Max\",\"age\":30}'"] end subgraph Пам'ять_Програми["JavaScript Object (Структура в RAM)"] O["{ name: 'Max', age: 30 }"] end J -->|JSON.parse| O O -->|JSON.stringify| J

Tabelle der fundamentalen Unterschiede

MerkmalJavaScript-ObjektJSON (Textformat)
ExistenzformLebende Datenstruktur im ArbeitsspeicherTextstring (Bytefolge)
Anforderungen an SchlüsselKönnen ohne Anführungszeichen oder als Symbol seinMüssen Strings in doppelten Anführungszeichen sein
Unterstützte TypenFunktionen, Methoden, Date, Map, Set, undefinedNur 6 Basistypen (Strings, Numbers, Booleans, Null, Objects, Arrays)
KommentareErlaubt (// und /* */)Vollständig verboten
Trailing CommasDurch moderne JS-Standards erlaubtStreng durch den Standard verboten

5. Navigation und Lesen verschachtelter Datenstrukturen

In realen Projekten enthalten API-Antworten tiefe hierarchische Strukturen. Für den Zugriff auf einen bestimmten Wert verwendet man die Punkt-Notation (.) für Objekte und Indizes ([]) für Arrays.

Beispiel eines komplexen Dokuments

json
{ "orderId": "ORD-94821", "customer": { "fullName": "Тарас Шевченко", "contacts": { "email": "taras@example.org", "phones": ["+380501112233", "+380679998877"] } }, "items": [ { "id": 1, "title": "Монітор 4K", "price": 450, "qty": 1 }, { "id": 2, "title": "Механічна клавіатура", "price": 120, "qty": 2 } ] }

Pfade zum Zugriff auf Elemente

  • order.orderId $\rightarrow$ gibt "ORD-94821" zurück
  • order.customer.fullName $\rightarrow$ gibt "Taras Shevchenko" zurück
  • order.customer.contacts.phones[0] $\rightarrow$ gibt die erste Nummer "+380501112233" zurück
  • order.items[1].price $\rightarrow$ gibt den Preis des zweiten Artikels 120 zurück
Tipp

Verwenden Sie im modernen JavaScript immer Optional Chaining (order?.customer?.contacts?.email), um Fehler wie TypeError: Cannot read properties of undefined zu vermeiden.


6. JSON in REST APIs: Anfragen, Antworten und Header

Praktisch alle modernen Webdienste nutzen JSON als Protokoll zur Übertragung der Nutzlast (Payload) über HTTP.

mermaid
sequenceDiagram autonumber actor Client as Клієнт (Браузер / Додаток) participant Server as REST API Сервер Note over Client: Підготовка об'єкта та серіалізація Client->>Server: POST /api/users (Header: Content-Type: application/json) Note over Server: Десеріалізація JSON, валідація, запис у БД Server-->>Client: 201 Created (Header: Content-Type: application/json) Note over Client: Читання response.json()

Wichtige HTTP-Header

  1. Content-Type: application/json: Weist den Server oder Client darauf hin, dass im Request Body oder Response Body ein gültiger JSON-String übertragen wird.
  2. Accept: application/json: Der Client teilt dem Server mit, dass er eine Antwort ausschließlich im JSON-Format erwartet (und nicht XML oder HTML).

7. Serialisierung und Deserialisierung: Parse und Stringify

Die Umwandlung lebender Speicherobjekte in Text wird als Serialisierung (Serialization) bezeichnet, die Rückumwandlung von Text in Objekte als Deserialisierung (Deserialization).


8. Diagnose von Syntaxfehlern und Validierung

Wenn der Text auch nur einen einzigen Syntaxfehler enthält, wirft der Aufruf von JSON.parse() eine Exception SyntaxError, was den Betrieb der Anwendung abrupt beenden kann.

javascript
try { const data = JSON.parse(untrustedUserInput); } catch (error) { console.error("Невалідний JSON:", error.message); }

Checkliste für die schnelle Diagnose

  • Sind alle geschweiften {} und eckigen [] Klammern geschlossen?
  • Stehen alle Schlüssel in doppelten Anführungszeichen ""?
  • Gibt es ein trailing comma vor der letzten Klammer?
  • Enthalten die Werte undefined, NaN oder Kommentare?
  • Sind innere Anführungszeichen in Strings escaped: "quote": "Wort \"in Anführungszeichen\""?

9. JSON Schema: Prüfung von Verträgen und Struktur

Ein syntaktisch korrektes JSON garantiert noch nicht, dass die Daten die richtige Geschäftsstruktur haben. Wenn eine API eine Zahl age erwartet, aber einen String "zwanzig" erhält, stürzt das Programm im Berechnungsschritt ab.

Für die formale Beschreibung der Anforderungen an die Struktur wird der Standard JSON Schema verwendet.

json
{ "$schema": "https://json-schema.org/draft/2020-12/schema", "title": "UserRegistrationSchema", "type": "object", "properties": { "email": { "type": "string", "format": "email" }, "age": { "type": "integer", "minimum": 18 }, "roles": { "type": "array", "items": { "type": "string" }, "minItems": 1 } }, "required": ["email", "age"] }

Jeder Validator (z. B. Ajv in JavaScript oder jsonschema in Python) prüft die Eingabedaten automatisch anhand dieses Vertrags, bevor sie an die Datenbank übergeben werden.


10. Strukturierte Daten für LLMs, Function Calling und AI-Agenten

In der modernen KI-Entwicklung weichen textuelle Antworten im freien Format zunehmend Structured Outputs.

AI-Agenten (wie Claude Code, OpenAI Function Calling, LangChain) nutzen JSON für den Aufruf externer Tools:

json
{ "name": "sendEmailNotification", "arguments": { "recipient": "user@example.com", "subject": "Рахунок сформовано", "invoiceId": "INV-2026-09" } }

Wie man sauberes JSON von einem Sprachmodell erzwingt

  1. Schema im System-Prompt angeben: Übermitteln Sie immer das exakte TypeScript-Modell oder JSON Schema.
  2. Rohausgabe verlangen: Nutzen Sie die Anweisung: "Return ONLY a valid raw JSON object. Do not wrap in markdown code blocks or add introductory text."
  3. Structured Outputs Mode nutzen: Aktivieren Sie bei API-Providern (Anthropic Tool Use / OpenAI JSON Mode) die erzwungene Schema-Validierung auf Ebene des Token-Generators.

11. Formatvergleich: JSON, YAML, XML und TOML

FormatMenschliche LesbarkeitKommentarunterstützungMarkup-VolumenHauptanwendungsgebiet
JSONMittel / HochNeinMinimalWeb APIs, Client-Server-Kommunikation, AI-Calls
YAMLSehr hochJaNull (Einrückungen)CI/CD-Konfigurationen (GitHub Actions, K8s)
TOMLSehr hochJaNiedrigProjektkonfigurationen (Cargo, pyproject.toml)
XMLNiedrigJaHoch (Tags)Legacy Enterprise-Systeme, SOAP, SVG

12. Praktischer Workshop, Selbstprüfung und abschließende Checkliste

Festigen wir alle erworbenen Fähigkeiten im vollständigen Zyklus: von der Datenbeschaffung aus einer API bis zur Validierung und zum Lesen.

Vollständiges Szenario für Datenabruf und -lesen

typescript
// Отримання даних користувача через Fetch API async function fetchUserProfile(userId: number) { try { const response = await fetch(`https://api.example.com/users/${userId}`, { headers: { Accept: "application/json" } }); if (!response.ok) { throw new Error(`HTTP Error: ${response.status}`); } // Автоматична десеріалізація JSON const user = await response.json(); // Безпечне читання значень console.log(`Користувач: ${user.name}`); console.log(`Основна навичка: ${user.skills?.[0] ?? 'відсутня'}`); return user; } catch (err) { console.error("Помилка отримання профілю:", err); } }

Schnelle Selbstprüfung

Tipp

1. Welcher Fehler tritt auf, wenn im JSON-File einfache Anführungszeichen für Strings verwendet werden?

Antwort: Es tritt ein Parsing-Fehler SyntaxError: Unexpected token ' in JSON auf. Die JSON-Spezifikation erlaubt ausschließlich doppelte Anführungszeichen "".

Tipp

2. Warum darf nach dem letzten Element eines JSON-Objekts kein Komma stehen?

Antwort: Der JSON-Standard verbietet trailing commas. Der Parser erwartet nach einem Komma das nächste Schlüssel-Wert-Paar; findet er stattdessen die schließende Klammer }, entsteht ein fataler Syntaxfehler.

Tipp

3. Wozu dient der Standard JSON Schema?

Antwort: Zur Prüfung der Geschäftsstruktur und der Datentypen im Dokument (Vorhandensein Pflichtfelder, Mindestwerte für Zahlen, E-Mail-Format), nicht nur zur Basis-Syntaxvalidierung.

Abschließende Checkliste für die Arbeit mit JSON

  • Alle Strings und Schlüssel sind in doppelten Anführungszeichen "" formatiert.
  • Das Fehlen von trailing commas vor } und ] wurde überprüft.
  • Alle Kommentare wurden aus dem JSON-Dokument entfernt.
  • Bei der Netzwerkübertragung wurde der Header Content-Type: application/json gesetzt.
  • Alle JSON.parse()-Operationen sind durch try/catch-Blöcke geschützt.
Dieser Leitfaden ist komplett kostenlos. Wenn er Ihnen einen Abend erspart hat, können Sie das Wachstum des Projekts unterstützen.
Autor unterstützen