JavaScript Object Notation (JSON)

Aus dev.kaibel.net
Version vom 8. November 2025, 13:37 Uhr von PhilKa (Diskussion | Beiträge) (Die Seite wurde neu angelegt: „= JSON (JavaScript Object Notation) = '''JSON''' (JavaScript Object Notation) ist ein kompaktes, textbasiertes Datenformat zur strukturierten Darstellung von Informationen. Es wird vor allem für den Datenaustausch zwischen Systemen verwendet, insbesondere in Web-APIs. JSON ist menschenlesbar, leichtgewichtig und lässt sich effizient von Maschinen verarbeiten. == Eigenschaften == * **Leichtgewichtig:** Geringer Overhead gegenüber XML. * **Menschen-…“)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Zur Navigation springen Zur Suche springen

JSON (JavaScript Object Notation)

JSON (JavaScript Object Notation) ist ein kompaktes, textbasiertes Datenformat zur strukturierten Darstellung von Informationen. Es wird vor allem für den Datenaustausch zwischen Systemen verwendet, insbesondere in Web-APIs. JSON ist menschenlesbar, leichtgewichtig und lässt sich effizient von Maschinen verarbeiten.

Eigenschaften

  • **Leichtgewichtig:** Geringer Overhead gegenüber XML.
  • **Menschen- und maschinenlesbar:** Klare, einfache Struktur.
  • **Sprachunabhängig:** Obwohl der Ursprung in JavaScript liegt, wird JSON in fast allen Programmiersprachen unterstützt.
  • **Widespread Standard:** De facto Standard in modernen Web-Architekturen und Microservices.

Grundstruktur

JSON stellt Daten mit:

  • **Objekten** (Schlüssel-Wert-Paare)
  • **Arrays** (geordneten Listen)
  • **Primitiven Datentypen**

dar.

Beispiel

{
  "name": "Alice",
  "alter": 30,
  "interessen": ["Musik", "Lesen", "Reisen"],
  "aktiv": true
}

Datentypen

JSON unterstützt folgende Datentypen:

Datentyp Beispiel Beschreibung
String `"Hallo"` Text in Anführungszeichen
Number `42` oder `3.14` Ganz- oder Gleitkommazahl
Boolean `true`, `false` Logischer Wert
Null `null` Leerer oder unbekannter Wert
Object `{"x": 1, "y": 2}` Sammlung von Schlüssel-Wert-Paaren
Array `[1, 2, 3]` Geordnete Liste

JSON vs. JavaScript

JSON sieht JavaScript-Objekten ähnlich, hat aber strengere Regeln:

  • Nur doppelte Anführungszeichen `"` erlaubt.
  • Keine Kommentare erlaubt.
  • Schlüssel müssen Strings sein.

Parsing und Serialisierung

JSON wird in Programmiersprachen meist über Standardbibliotheken verarbeitet.

In JavaScript

// JSON-String → Objekt
const obj = JSON.parse('{"name":"Alice"}');

// Objekt → JSON-String
const jsonText = JSON.stringify(obj);

In Python

import json

obj = json.loads('{"name": "Alice"}')
text = json.dumps(obj)

In C# (.NET)

using System.Text.Json;

var obj = JsonSerializer.Deserialize<Dictionary<string, object>>("{\"name\": \"Alice\"}");
var text = JsonSerializer.Serialize(obj);

JSON-Schema

JSON-Schema dient der **Validierung** von JSON-Datenstrukturen.

Beispielschema

{
  "type": "object",
  "properties": {
    "name": { "type": "string" },
    "alter": { "type": "number" }
  },
  "required": ["name"]
}

Einsatzgebiete

JSON wird verwendet in:

  • **REST-APIs**
  • **Microservices-Kommunikation**
  • **Webanwendungen (AJAX, Fetch, WebSockets)**
  • **Konfigurationsdateien** (z. B. `package.json`, `appsettings.json`)
  • **NoSQL-Datenbanken** (z. B. MongoDB, CouchDB)

Vorteile

  • Sehr einfach zu lesen und zu erstellen.
  • Weniger Overhead als XML.
  • Hervorragend für Web-basierte Systeme geeignet.
  • Plattform- und sprachunabhängig.

Nachteile

  • Keine Kommentare im Standard erlaubt.
  • Weißraum-sensitiv bei manueller Bearbeitung.
  • Weniger geeignet für hochkomplexe strukturierte Dokumente (z. B. technische Standards), für die XML teilweise besser geeignet ist.

Vergleich mit XML

Kriterium JSON XML
Lesbarkeit Einfach, kompakt Ausführlich, strukturreich
Struktur Key-Value-basiert Tag-basiert, flexibler
Datenvalidierung JSON-Schema (jünger) XSD/DTD (ausgereift)
Einsatz Web-APIs, Apps, Microservices Enterprise-Systeme, Dokumentstandards

Zusammenfassung

  • JSON ist ein leichtgewichtiges, plattformunabhängiges Format für strukturierten Datenaustausch.
  • Es wird heute als **Standardformat** in Web- und API-Entwicklungen verwendet.
  • JSON ist einfach zu lesen, zu erzeugen und in allen gängigen Sprachen verarbeitbar.

Siehe auch

Weblinks