Python JSON Parser und Validator

Erfahren Sie, wie Sie JSON in Python lesen, validieren, ändern und serialisieren. Beherrschen Sie die integrierte JSON-Bibliothek anhand realistischer Beispiele.

Versuchen Sie es im Editor

Übersicht

JSON (JavaScript Object Notation) ist das Standardformat für den Datenaustausch im Web. Python bietet ein leistungsstarkes integriertes Modul namens „json“, das JSON-Strings in Python-Wörterbücher übersetzt und umgekehrt.

Das Modul stellt zwei Hauptgruppen von Operationen bereit: „loads“ und „dumps“ für die direkte Verarbeitung von JSON-Strings sowie „load“ und „dump“ für das direkte Schreiben oder Lesen von Daten aus Dateistreams.

Bei der Arbeit mit JSON ist die Fehlerbehandlung von entscheidender Bedeutung. Python löst einen „json.JSONDecodeError“ aus, wenn die String-Syntax fehlerhaft ist. Dies muss unbedingt abgefangen werden, wenn Nutzlasten von öffentlichen APIs verwendet werden.

Code- und Ausführungsausgabe

Ein Skript, das die Validierung von JSON-Strings, das Parsen von Diktaten, Änderungen und hübsches Drucken demonstriert.

import json

raw_json = """
{
    "status": "success",
    "data": {
        "user_id": 9042,
        "username": "coder_xyz",
        "roles": ["admin", "developer"],
        "verified": true
    }
}
"""

try:
    # Parsing JSON string into Python dict
    data = json.loads(raw_json)
    print("--- JSON Decoded Successfully ---")
    print(f"Username: {data['data']['username']}")
    print(f"Is Admin: {'admin' in data['data']['roles']}")
    
    # Mutating Python dict
    data['data']['verified'] = False
    data['data']['last_login'] = "2026-05-25"
    
    # Serializing dict back to formatted JSON
    pretty_json = json.dumps(data, indent=4)
    print("\n--- Modified JSON String ---")
    print(pretty_json)
    
except json.JSONDecodeError as e:
    print(f"Invalid JSON Format: {e}")
Terminal-Ausgabe
--- JSON Decoded Successfully ---
Username: coder_xyz
Is Admin: True

--- Modified JSON String ---
{
    "status": "success",
    "data": {
        "user_id": 9042,
        "username": "coder_xyz",
        "roles": [
            "admin",
            "developer"
        ],
        "verified": false,
        "last_login": "2026-05-25"
    }
}

Schrittweise Umsetzung

  • Anwendungskonfigurationen und Anmeldeinformationsdateien lesen
  • Analysieren von Antworten von REST-API-Endpunkten
  • Speichern von Programmzuständen oder -ebenen in Desktop-Dienstprogrammen

Häufig gestellte Fragen

Was ist der Unterschied zwischen Dump und Dumps in Python?

„dumps“ serialisiert ein Objekt in ein JSON-String-Format, während „dump“ den serialisierten JSON-Stream direkt in ein beschreibbares Dateiobjekt schreibt.

Wie geht Python mit JSON-Nullwerten um?

Der „JSON“-Decoder von Python ordnet JSON „null“ automatisch „None“, „true“ und „false“ auf „True“ und „False“ sowie Arrays auf Listen zu.

Verwandte Themen