JSON in Python parsen: Anleitung & Beispiele

Online Python-Trainer für Anfänger

Lernen Sie Python einfach ohne theoretische Überlastung. Lösen Sie praktische Aufgaben mit automatischer Überprüfung und schreiben Sie Code direkt im Browser.

Kurs starten

Was ist JSON und warum sollte man es parsen?

JSON (JavaScript Object Notation) ist ein leichtgewichtiges, textbasiertes Datenaustauschformat, das sich als Standard für die Übertragung von Informationen zwischen Anwendungen etabliert hat. Trotz des Namens ist JSON nicht an JavaScript gebunden und wird in allen modernen Programmiersprachen intensiv genutzt.

Die wichtigsten Vorteile von JSON:

  • Menschlich lesbares Format
  • Einfache Datenstruktur
  • Universelle Unterstützung
  • Kompakter als XML

Beispiel eines JSON-Objekts:

{
  "name": "Alice",
  "age": 30,
  "is_active": true,
  "hobbies": ["reading", "cycling", "traveling"]
}

Das integrierte json-Modul in Python

Python bietet ein leistungsstarkes, integriertes Modul json für die Arbeit mit JSON-Daten. Dieses Modul ermöglicht zwei grundlegende Operationen:

  1. Deserialisierung — Umwandlung eines JSON-Strings in Python-Objekte
  2. Serialisierung — Umwandlung von Python-Objekten in einen JSON-String

Um zu beginnen, importieren wir das Modul:

import json

JSON-Strings in Python-Objekte parsen

Verwendung von json.loads()

Die Funktion json.loads() (load string) wandelt einen JSON-String in das entsprechende Python-Objekt um:

import json

json_data = '{"name": "Bob", "age": 25, "is_active": false}'
parsed_data = json.loads(json_data)

print(parsed_data)  # {'name': 'Bob', 'age': 25, 'is_active': False}
print(type(parsed_data))  # <class 'dict'>

Nach dem Parsen können Sie mit den Daten wie mit einem normalen Dictionary arbeiten:

print(parsed_data['name'])  # Bob
print(parsed_data['age'])   # 25

Typzuordnung

JSON-Typen werden automatisch in Python-Typen umgewandelt:

JSON Python
object dict
array list
string str
number int/float
true/false True/False
null None

Python-Objekte in JSON umwandeln

Verwendung von json.dumps()

Die Funktion json.dumps() wandelt Python-Objekte in einen JSON-String um:

data = {'name': 'Alice', 'age': 30, 'is_active': True}
json_string = json.dumps(data)
print(json_string)  # {"name": "Alice", "age": 30, "is_active": true}

Formatierungsparameter

Für eine bessere Lesbarkeit verwenden Sie zusätzliche Parameter:

data = {'name': 'Alice', 'age': 30, 'city': 'Berlin'}
json_pretty = json.dumps(data, indent=4, sort_keys=True, ensure_ascii=False)
print(json_pretty)

Wichtige Parameter:

  • indent — Einrückungen für die Formatierung
  • sort_keys — Sortierung der Schlüssel
  • ensure_ascii — Unterstützung von Unicode-Zeichen

Arbeiten mit JSON-Dateien

JSON aus einer Datei lesen

Verwenden Sie json.load(), um JSON-Daten aus einer Datei zu lesen:

with open('data.json', 'r', encoding='utf-8') as file:
    content = json.load(file)
    print(content)

JSON in eine Datei schreiben

Die Funktion json.dump() schreibt Daten in eine Datei:

data = {'city': 'Berlin', 'temperature': -5, 'weather': 'Schnee'}

with open('weather.json', 'w', encoding='utf-8') as file:
    json.dump(data, file, indent=4, ensure_ascii=False)

Empfehlungen für die Dateiarbeit

  • Geben Sie immer die Kodierung an

Blogs

Buchempfehlungen