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.
Ü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}")--- 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.