← Zurück zum Blog

JSON-Datei erklärt: Struktur, Syntax und Verwendung

Vollständiger Leitfaden zu JSON-Dateien: Erfahren Sie alles über Struktur, Syntax, Erstellung und Best Practices für die Arbeit mit JSON-Dateien.

Big JSON Team10 Min. Lesezeitbasics
B

Big JSON Team

Technical Writer

Expert in JSON data manipulation, API development, and web technologies. Passionate about creating tools that make developers' lives easier.

10 Min. Lesezeit

# JSON-Datei erklärt: Struktur, Syntax und Verwendung

Eine umfassende Anleitung zum Verständnis und zur Arbeit mit JSON-Dateien.

Was ist eine JSON-Datei?

Eine JSON-Datei ist eine Textdatei mit der Erweiterung .json, die Daten im JSON-Format (JavaScript Object Notation) enthält. Diese Dateien werden verwendet, um strukturierte Daten zwischen Anwendungen und Systemen auszutauschen.

Dateierweiterung

datei.json

konfiguration.json

daten.json

package.json

Grundlegende Struktur

Einfache JSON-Datei

{

"name": "Beispiel",

"version": "1.0.0",

"beschreibung": "Eine einfache JSON-Datei"

}

Verschachtelte Struktur

{

"projekt": {

"name": "Mein Projekt",

"version": "2.0.0",

"autor": {

"name": "Max Mustermann",

"email": "max@example.de"

},

"abhängigkeiten": [

"react",

"typescript",

"next.js"

]

}

}

JSON-Dateistruktur im Detail

Root-Element

Jede JSON-Datei muss entweder mit einem Objekt {} oder einem Array [] beginnen.

Objekt als Root

{

"eigenschaft1": "wert1",

"eigenschaft2": "wert2"

}

Array als Root

[

{

"id": 1,

"name": "Element 1"

},

{

"id": 2,

"name": "Element 2"

}

]

Schlüssel-Wert-Paare

{

"zeichenkette": "Dies ist ein String",

"zahl": 42,

"dezimalzahl": 3.14,

"boolean": true,

"nullwert": null,

"array": [1, 2, 3],

"objekt": {

"verschachtelt": true

}

}

Datentypen in JSON-Dateien

1. Strings

{

"vorname": "Anna",

"nachname": "Schmidt",

"stadt": "München",

"adresse": "Hauptstraße 123",

"land": "Deutschland"

}

2. Zahlen

{

"ganzzahl": 100,

"negativ": -50,

"dezimal": 99.99,

"wissenschaftlich": 1.5e10,

"nullwert": 0

}

3. Boolesche Werte

{

"aktiv": true,

"verifiziert": false,

"premium": true,

"gesperrt": false

}

4. Null

{

"zweitname": null,

"firma": null,

"notizen": null

}

5. Arrays

{

"zahlen": [1, 2, 3, 4, 5],

"farben": ["rot", "grün", "blau"],

"gemischt": [1, "text", true, null],

"objekte": [

{"id": 1, "name": "Element 1"},

{"id": 2, "name": "Element 2"}

]

}

6. Objekte

{

"benutzer": {

"id": 123,

"name": "Max Mustermann",

"kontakt": {

"email": "max@example.de",

"telefon": "+49123456789"

}

}

}

Praktische Beispiele

Konfigurationsdatei (config.json)

{

"anwendung": {

"name": "MeineApp",

"version": "1.0.0",

"umgebung": "produktion"

},

"datenbank": {

"host": "localhost",

"port": 5432,

"name": "meine_datenbank",

"benutzer": "admin"

},

"server": {

"port": 3000,

"host": "0.0.0.0",

"ssl": true

},

"logging": {

"level": "info",

"datei": "/var/log/app.log"

}

}

Benutzerdaten (benutzer.json)

{

"benutzer": [

{

"id": 1,

"vorname": "Max",

"nachname": "Mustermann",

"email": "max@example.de",

"alter": 30,

"adresse": {

"straße": "Hauptstraße 1",

"stadt": "Berlin",

"plz": "10115",

"land": "Deutschland"

},

"interessen": ["Programmierung", "Musik", "Sport"],

"aktiv": true,

"registriert": "2024-01-15T10:30:00Z"

},

{

"id": 2,

"vorname": "Anna",

"nachname": "Schmidt",

"email": "anna@example.de",

"alter": 28,

"adresse": {

"straße": "Parkstraße 45",

"stadt": "München",

"plz": "80331",

"land": "Deutschland"

},

"interessen": ["Design", "Reisen", "Fotografie"],

"aktiv": true,

"registriert": "2024-02-20T14:00:00Z"

}

]

}

Produktkatalog (produkte.json)

{

"katalog": {

"name": "Elektronik-Shop",

"aktualisiert": "2026-01-26",

"produkte": [

{

"sku": "LAP-001",

"name": "Business Laptop",

"kategorie": "Computer",

"preis": 899.99,

"waehrung": "EUR",

"verfuegbar": true,

"lagerbestand": 45,

"bewertung": 4.5,

"eigenschaften": {

"marke": "TechBrand",

"prozessor": "Intel Core i7",

"ram": "16GB",

"festplatte": "512GB SSD",

"bildschirm": "15.6 Zoll",

"gewicht": "1.8kg"

},

"bilder": [

"laptop-front.jpg",

"laptop-seite.jpg",

"laptop-offen.jpg"

],

"tags": ["business", "leistungsstark", "portabel"]

},

{

"sku": "MOU-002",

"name": "Ergonomische Maus",

"kategorie": "Zubehör",

"preis": 29.99,

"waehrung": "EUR",

"verfuegbar": true,

"lagerbestand": 150,

"bewertung": 4.8,

"eigenschaften": {

"marke": "ErgoTech",

"typ": "Kabellos",

"dpi": "3200",

"tasten": 6,

"batterie": "Wiederaufladbar"

},

"bilder": [

"maus-top.jpg",

"maus-seite.jpg"

],

"tags": ["ergonomisch", "kabellos", "präzise"]

}

]

}

}

API-Antwort (response.json)

{

"status": "erfolg",

"zeitstempel": "2026-01-26T12:00:00Z",

"anfrage": {

"methode": "GET",

"pfad": "/api/benutzer",

"parameter": {

"seite": 1,

"limit": 10

}

},

"daten": {

"benutzer": [

{

"id": 1,

"name": "Max Mustermann",

"email": "max@example.de",

"rolle": "admin"

},

{

"id": 2,

"name": "Anna Schmidt",

"email": "anna@example.de",

"rolle": "benutzer"

}

],

"pagination": {

"aktuelleSeite": 1,

"proSeite": 10,

"gesamt": 2,

"seiten": 1

}

},

"meta": {

"version": "1.0.0",

"antwortzeit": 45

}

}

JSON-Dateien erstellen

Mit einem Texteditor

  • Öffnen Sie einen Texteditor (VS Code, Notepad++, Sublime Text)
  • Schreiben Sie Ihre JSON-Struktur
  • Speichern Sie die Datei mit der Erweiterung .json
  • Mit Code (JavaScript)

    const fs = require('fs');
    
    

    const daten = {

    name: "Beispiel",

    version: "1.0.0",

    aktiv: true

    };

    // Objekt in JSON-Datei schreiben

    fs.writeFileSync('daten.json', JSON.stringify(daten, null, 2));

    Mit Code (Python)

    import json
    
    

    daten = {

    "name": "Beispiel",

    "version": "1.0.0",

    "aktiv": True

    }

    # Dictionary in JSON-Datei schreiben

    with open('daten.json', 'w', encoding='utf-8') as datei:

    json.dump(daten, datei, indent=2, ensure_ascii=False)

    JSON-Dateien lesen

    Mit JavaScript

    const fs = require('fs');
    
    

    // JSON-Datei lesen und parsen

    const daten = JSON.parse(fs.readFileSync('daten.json', 'utf8'));

    console.log(daten.name);

    // Moderne Variante (ES-Module)

    import daten from './daten.json' assert { type: 'json' };

    Mit Python

    import json
    
    

    # JSON-Datei lesen

    with open('daten.json', 'r', encoding='utf-8') as datei:

    daten = json.load(datei)

    print(daten['name'])

    Mit Node.js (require)

    // Direktes Importieren
    

    const daten = require('./daten.json');

    console.log(daten.name);

    JSON-Datei Best Practices

    1. Konsistente Formatierung

    {
    

    "gut": {

    "einzug": 2,

    "formatiert": true,

    "lesbar": true

    }

    }

    2. Aussagekräftige Schlüsselnamen

    {
    

    "gut": {

    "benutzerId": 123,

    "erstellungsDatum": "2026-01-26"

    },

    "schlecht": {

    "uid": 123,

    "cd": "2026-01-26"

    }

    }

    3. Logische Strukturierung

    {
    

    "benutzer": {

    "profil": {

    "name": "Max",

    "alter": 30

    },

    "einstellungen": {

    "sprache": "de",

    "theme": "dunkel"

    },

    "statistiken": {

    "anmeldungen": 45,

    "letzteAktivitaet": "2026-01-26"

    }

    }

    }

    4. Datum/Zeit-Formate

    Verwenden Sie ISO 8601:

    {
    

    "datum": "2026-01-26",

    "zeit": "12:00:00",

    "zeitstempel": "2026-01-26T12:00:00Z",

    "mitZeitzone": "2026-01-26T12:00:00+01:00"

    }

    5. Versionierung

    {
    

    "version": "1.0.0",

    "apiVersion": "v2",

    "schemaVersion": "2024-01"

    }

    Häufige Fehler vermeiden

    1. Trailing Commas

    // ❌ Falsch
    

    {

    "name": "Max",

    "alter": 30,

    }

    // ✅ Richtig

    {

    "name": "Max",

    "alter": 30

    }

    2. Kommentare

    JSON unterstützt keine Kommentare:

    // ❌ Falsch
    

    {

    // Dies ist ein Kommentar

    "name": "Max"

    }

    // ✅ Alternative: Metafeld verwenden

    {

    "_kommentar": "Beschreibung hier",

    "name": "Max"

    }

    3. Einfache Anführungszeichen

    // ❌ Falsch
    

    {'name': 'Max'}

    // ✅ Richtig

    {"name": "Max"}

    4. Undefined

    // ❌ Falsch
    

    {

    "wert": undefined

    }

    // ✅ Richtig - verwenden Sie null

    {

    "wert": null

    }

    JSON-Datei-Validierung

    Online-Validatoren

    • JSONLint.com
    • jsonformatter.org
    • Big JSON Tool

    In Code (JavaScript)

    function istGueltigesJSON(text) {
    

    try {

    JSON.parse(text);

    return true;

    } catch (error) {

    console.error('Ungültiges JSON:', error.message);

    return false;

    }

    }

    const jsonText = '{"name": "Max"}';

    if (istGueltigesJSON(jsonText)) {

    console.log('Gültiges JSON!');

    }

    In Code (Python)

    import json
    
    

    def ist_gueltiges_json(text):

    try:

    json.loads(text)

    return True

    except json.JSONDecodeError as e:

    print(f'Ungültiges JSON: {e}')

    return False

    json_text = '{"name": "Max"}'

    if ist_gueltiges_json(json_text):

    print('Gültiges JSON!')

    Große JSON-Dateien

    Streaming-Verarbeitung (Node.js)

    const fs = require('fs');
    

    const JSONStream = require('JSONStream');

    fs.createReadStream('grosse-datei.json')

    .pipe(JSONStream.parse('benutzer.*'))

    .on('data', (benutzer) => {

    console.log(benutzer.name);

    });

    Inkrementelles Lesen (Python)

    import ijson
    
    

    with open('grosse-datei.json', 'rb') as datei:

    parser = ijson.items(datei, 'benutzer.item')

    for benutzer in parser:

    print(benutzer['name'])

    JSON-Dateien komprimieren

    GZIP-Kompression

    const fs = require('fs');
    

    const zlib = require('zlib');

    // Komprimieren

    const input = fs.createReadStream('daten.json');

    const output = fs.createWriteStream('daten.json.gz');

    input.pipe(zlib.createGzip()).pipe(output);

    // Dekomprimieren

    const input2 = fs.createReadStream('daten.json.gz');

    const output2 = fs.createWriteStream('daten-neu.json');

    input2.pipe(zlib.createGunzip()).pipe(output2);

    Sicherheitsüberlegungen

    1. Sensible Daten nicht im Klartext

    // ❌ Unsicher
    

    {

    "passwort": "geheim123",

    "apiSchluessel": "sk_live_1234567890"

    }

    // ✅ Besser - verwenden Sie Umgebungsvariablen

    {

    "passwortHash": "...",

    "apiSchluesselRef": "env:API_KEY"

    }

    2. Input-Validierung

    const Joi = require('joi');
    
    

    const schema = Joi.object({

    name: Joi.string().required(),

    alter: Joi.number().integer().min(0).max(150),

    email: Joi.string().email()

    });

    const { error, value } = schema.validate(jsonData);

    if (error) {

    console.error('Validierungsfehler:', error.details);

    }

    Zusammenfassung

    JSON-Dateien sind:

    Einfach - Klare, lesbare Struktur

    Vielseitig - Für Konfiguration, Daten, APIs

    Standard - Universell unterstützt

    Effizient - Kompakt und schnell zu verarbeiten

    Wichtige Punkte

    • Verwenden Sie .json als Dateierweiterung
    • Achten Sie auf korrekte Syntax (doppelte Anführungszeichen, keine Kommas am Ende)
    • Strukturieren Sie Daten logisch und konsistent
    • Validieren Sie JSON-Dateien vor der Verwendung
    • Verwenden Sie geeignete Tools für große Dateien

    Weiterführende Ressourcen

    Share:

    Verwandte Artikel

    Read in English