Python Academy · Lektion

Verschachtelte JSON-Strukturen verarbeiten

Navigieren und transformieren Sie komplexe verschachtelte JSON-Objekte.

Lektion 2 von 414 Schritte

Verschachtelte JSON-Strukturen verarbeiten ist eine kostenlose Python Academy-Lektion auf CoddyKit. Dies ist Lektion 2 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des Python Academy-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der Python Academy-Kurs umfasst insgesamt 4 Lektionen.

Einführung

JSON aus der Praxis ist tief verschachtelt. Es ist unerlässlich, verschachtelte Strukturen navigieren, transformieren und validieren zu können.

Auf verschachtelte Schlüssel zugreifen

data['user']['address']['city'] navigiert durch verschachtelte dicts. Verwenden Sie auf jeder Ebene .get(), um fehlende Schlüssel zu behandeln.
import json
data = {'user': {'address': {'city': 'NYC', 'zip': '10001'}}}
print(data['user']['address']['city'])

Sicherer Zugriff auf verschachtelte Daten

data.get('user', {}).get('address', {}).get('city') verkettet .get()-Aufrufe auf sichere Weise.
data = {'user': {'name': 'Alice'}}
city = data.get('user', {}).get('address', {}).get('city', 'unknown')
print(city)

Arrays von Objekten durchlaufen

JSON-Arrays mit Objekten sind Listen von dicts. Durchlaufen Sie sie mit einer for-Schleife.
import json
data = json.loads('[{"name":"Alice"},{"name":"Bob"}]')
for user in data:
    print(user['name'])

Verschachteltes JSON abflachen

Schreiben Sie eine rekursive Funktion, um verschachtelte dicts in ein flaches dict mit Schlüsseln in Punktnotation umzuwandeln.
def flatten(d, prefix=''):
    result = {}
    for k, v in d.items():
        key = f'{prefix}.{k}' if prefix else k
        if isinstance(v, dict):
            result.update(flatten(v, key))
        else:
            result[key] = v
    return result
print(flatten({'a': {'b': {'c': 1}}, 'd': 2}))

Arrays filtern

[user for user in data if user.get('active')] filtert ein JSON-Array anhand einer Bedingung.
data = [{'name':'A','active':True},{'name':'B','active':False}]
active = [u for u in data if u.get('active')]
print(active)

Verschachtelte Daten transformieren

Extrahieren Sie ein Feld aus jedem verschachtelten Objekt: [item['name'] for item in data]
data = [{'id': 1, 'name': 'Alice'}, {'id': 2, 'name': 'Bob'}]
names = [d['name'] for d in data]
print(names)

Schemas mit jsonschema validieren

pip install jsonschema. jsonschema.validate(instance, schema) löst bei ungültigen Daten ValidationError aus.
# from jsonschema import validate
# schema = {'type':'object','required':['name']}
# validate({'name':'Alice'}, schema)  # OK
# validate({}, schema)  # raises ValidationError
print('schema validation demo')

Verschachtelte dicts tiefgehend aktualisieren

Shallow dict.update() führt verschachtelte dicts nicht zusammen. Schreiben Sie ein rekursives deep_update für das Zusammenführen verschachtelter Daten.
def deep_update(base, override):
    for k, v in override.items():
        if isinstance(v, dict) and isinstance(base.get(k), dict):
            deep_update(base[k], v)
        else:
            base[k] = v
    return base
result = deep_update({'a': {'x': 1}}, {'a': {'y': 2}})
print(result)

Abfragen im jq-Stil mit Python

Für komplexe Abfragen verwenden Sie die Bibliothek jq oder eine benutzerdefinierte rekursive Suche: find_all(data, 'key').
def find_all(obj, key):
    if isinstance(obj, dict):
        if key in obj: yield obj[key]
        for v in obj.values(): yield from find_all(v, key)
    elif isinstance(obj, list):
        for item in obj: yield from find_all(item, key)
data = {'a': {'name': 'x'}, 'b': [{'name': 'y'}]}
print(list(find_all(data, 'name')))

Serialisieren in NDJSON

Zeilengetrenntes JSON (NDJSON): ein JSON-Objekt pro Zeile. Schreiben Sie es mit json.dumps(obj) + '\n'.
import json
objects = [{'id': 1}, {'id': 2}, {'id': 3}]
ndjson = '\n'.join(json.dumps(o) for o in objects)
print(ndjson)

Kurztest

Was gibt data.get('key', {}).get('nested') zurück, wenn 'key' nicht vorhanden ist?

Zusammenfassung

Verschachteltes JSON: Verketten Sie .get() für einen sicheren Zugriff. Durchlaufen Sie Arrays mit for. Flachen Sie Daten mit Rekursion ab. Filtern Sie mit einer List Comprehension. Verwenden Sie jsonschema zur Validierung.

Weiter geht's

Bleiben Sie dran! Fahren Sie mit der nächsten Lektion fort.
Kostenlos starten

Lerne Python mit einem KI-Tutor — kostenlos

Schreibe und führe echten Code in deinem Browser aus, bekomme sofortige Hilfe von einem 24/7 KI-Tutor und setze dein Lernen im Web oder in der App fort.

Kurse
76
Lektionen
320

Häufig gestellte Fragen

Ist die Lektion „Verschachtelte JSON-Strukturen verarbeiten“ kostenlos?

Ja — der vollständige Text von „Verschachtelte JSON-Strukturen verarbeiten“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des Python Academy-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der Python Academy-Kurs umfasst insgesamt 4 Lektionen.

Was lerne ich in „Verschachtelte JSON-Strukturen verarbeiten“?

Navigieren und transformieren Sie komplexe verschachtelte JSON-Objekte. Du übst Python Academy mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.

Brauche ich Erfahrung, um Python Academy zu starten?

Keine Vorkenntnisse erforderlich. Python Academy auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 2 von 4.

Wie lange dauert die Lektion „Verschachtelte JSON-Strukturen verarbeiten“?

Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.

Kann ich in dieser Python Academy-Lektion Code schreiben und ausführen?

Ja. Jede Python Academy-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.

Alle Lektionen in diesem Kurs

  1. JSON-Kodierung und -Dekodierung
  2. Verschachtelte JSON-Strukturen verarbeiten
  3. CSV mit csv.reader lesen
  4. CSV mit csv.DictWriter schreiben
← Zurück zu Python Academy