import json
# Daten erstellen
= {
daten "Personen": [
"Name": "Max", "Alter": 24, "Stadt": "Berlin"},
{"Name": "Anna", "Alter": 30, "Stadt": "Hamburg"},
{"Name": "Tom", "Alter": 22, "Stadt": "München"}
{
]
}
# JSON-Datei speichern
with open('daten.json', 'w') as jsonfile:
=4) json.dump(daten, jsonfile, indent
JSON-Dateien
JSON (JavaScript Object Notation) ist ein textbasiertes Datenformat, das einfach lesbar und schreibbar ist. JSON-Daten bestehen aus Schlüssel-Wert-Paaren und unterstützen verschiedene Datentypen wie Zeichenfolgen, Zahlen, Arrays (Listen) und Objekte (Dictionaries).
Beispiel einer JSON-Datei:
{
"Personen": [
{
"Name": "Max",
"Alter": 24,
"Stadt": "Berlin"
},
{
"Name": "Anna",
"Alter": 30,
"Stadt": "Hamburg"
},
{
"Name": "Tom",
"Alter": 22,
"Stadt": "München"
}
]
}
Diese JSON-Datei enthält ein Objekt mit einem Schlüssel Personen
, der eine Liste von Objekten enthält. Jedes dieser Objekte repräsentiert eine Person mit den Attributen Name
, Alter
und Stadt
. Dieses Format ist sehr nützlich, um strukturierte Daten wie eine Liste von Personen mit deren Eigenschaften zu speichern und zu übertragen.
Im oben genannten Beispiel könnten wir nach dem Laden der JSON-Datei auf die Liste der Personen mit daten["Personen"]
zugreifen und die Informationen jeder Person entsprechend verwenden.
Schreiben einer JSON-Datei
Das Speichern von Daten in eine JSON-Datei ist mit der json
-Bibliothek sehr einfach. Die Methode json.dump()
ermöglicht das Speichern eines Python Dictionaries in eine JSON-Datei.
Importieren der JSON-Bibliothek:
python import json
Erstellen von Daten:
- Daten können in Form eines Dictionaries erstellt werden.
= { daten "Personen": [ "Name": "Max", "Alter": 24, "Stadt": "Berlin"}, {"Name": "Anna", "Alter": 30, "Stadt": "Hamburg"}, {"Name": "Tom", "Alter": 22, "Stadt": "München"} { ] }
Speichern der Daten in eine JSON-Datei:
python with open('daten.json', 'w') as jsonfile: json.dump(daten, jsonfile, indent=4)
- Argumente:
- Wir verwenden den
with
-Befehl, um eine Datei im Schreibmodus zu öffnen. Der with-Befehl sorgt dafür, dass die Datei nach Abschluss der Operation automatisch geschlossen wird, auch wenn ein Fehler auftritt. - Der erste Parameter ist der Dateiname (
'daten.json'
). Wenn kein Pfad angegeben ist, wird die Datei im aktuellen Arbeitsverzeichnis gespeichert. open('daten.json', 'w')
öffnet die Datei daten.json im Schreibmodus (w steht für write). Wenn die Datei nicht existiert, wird sie erstellt. Wenn sie bereits existiert, wird ihr Inhalt überschrieben.as jsonfile
weist die geöffnete Datei dem Variablennamenjsonfile
zu, der innerhalb des with-Blocks verwendet werden kann.indent=4
sorgt für eine formatierte Ausgabe mit Einrückungen, die die JSON-Datei besser lesbar macht.
- Wir verwenden den
- Argumente:
Lesen einer JSON-Datei
Das Lesen von JSON-Dateien in Python ist mit der json
-Bibliothek ebenfalls sehr einfach. Die Methode json.load()
ermöglicht das Einlesen von JSON-Daten aus einer Datei in ein Python Dictionary.
import json
# JSON-Datei lesen
with open('daten.json', 'r') as jsonfile:
= json.load(jsonfile)
daten
print(daten)
{'Personen': [{'Name': 'Max', 'Alter': 24, 'Stadt': 'Berlin'}, {'Name': 'Anna', 'Alter': 30, 'Stadt': 'Hamburg'}, {'Name': 'Tom', 'Alter': 22, 'Stadt': 'München'}]}
Importieren der JSON-Bibliothek:
python import json
- Erklärung: Die JSON-Bibliothek ist eine eingebaute Python-Bibliothek, die es ermöglicht, JSON-Daten zu parsen (lesen) und zu generieren (schreiben). JSON (JavaScript Object Notation) ist ein weit verbreitetes Format zur Darstellung strukturierter Daten.
Lesen der JSON-Datei:
python with open('daten.json', 'r') as jsonfile: daten = json.load(jsonfile)
Erklärung: Hier wird die JSON-Datei
'daten.json'
geöffnet und ihr Inhalt in die Variabledaten
geladen.Schritt-für-Schritt:
open('daten.json', 'r')
: Diese Funktion öffnet die Datei'daten.json'
im Lesemodus ('r'
).as jsonfile
: Deropen
-Befehl wird im Kontext eineswith
-Statements verwendet, was sicherstellt, dass die Datei nach dem Lesen automatisch geschlossen wird.json.load(jsonfile)
: Diese Methode liest den Inhalt der Datei und wandelt ihn in ein Python-Objekt (üblicherweise ein Dictionary) um.
Argumente:
- Der erste Parameter ist der Pfad zur JSON-Datei (
'daten.json'
). Wenn sich die Datei nicht im aktuellen Arbeitsverzeichnis befindet, muss der vollständige Pfad angegeben werden. - Der Modus
'r'
gibt an, dass die Datei nur gelesen werden soll.
- Der erste Parameter ist der Pfad zur JSON-Datei (
Ausgeben der Daten:
python print(daten)
- Erklärung: Diese Anweisung gibt den Inhalt des
daten
-Dictionaries auf der Konsole aus. - Details:
daten
ist ein Dictionary, das die aus der JSON-Datei gelesenen Daten enthält. Durch das Drucken dieses Dictionaries können wir den strukturierten Inhalt der Datei anzeigen.- Es ist eine gute Methode, die gelesenen Daten auszugeben, um sicherzustellen, dass sie korrekt eingelesen wurden und um zu verstehen, welche Struktur die Daten haben.
- Erklärung: Diese Anweisung gibt den Inhalt des
Diese ausführliche Erklärung sollte dir helfen, den Prozess des Lesens einer JSON-Datei in Python besser zu verstehen. Von der Verwendung der Bibliothek bis hin zum Öffnen, Lesen und Anzeigen der Datei werden alle Schritte detailliert beschrieben.
Erweiterte Funktionen
JSON kann leicht in Python-Datenstrukturen konvertiert werden und umgekehrt.
JSON in Dictionary
JSON in ein Python Dictionary konvertieren:
import json
= '''
json_daten {
"Name": "Max",
"Alter": 24,
"Stadt": "Berlin"
}
'''
= json.loads(json_daten)
daten print(daten)
{'Name': 'Max', 'Alter': 24, 'Stadt': 'Berlin'}
Dictionary zu JSON
Python Dictionary in JSON konvertieren:
import json
= {
daten "Name": "Max",
"Alter": 24,
"Stadt": "Berlin"
}
= json.dumps(daten, indent=4)
json_daten print(json_daten)
{
"Name": "Max",
"Alter": 24,
"Stadt": "Berlin"
}
Verschachtelte JSON-Daten
JSON-Daten können verschachtelte Strukturen enthalten, wie Listen von Objekten oder Objekte innerhalb von Objekten. Python kann diese Strukturen direkt verarbeiten.
import json
= '''
json_daten {
"Personen": [
{
"Name": "Max",
"Alter": 24,
"Stadt": "Berlin",
"Hobbys": ["Lesen", "Schwimmen"]
},
{
"Name": "Anna",
"Alter": 30,
"Stadt": "Hamburg",
"Hobbys": ["Radfahren", "Kochen"]
}
]
}
'''
= json.loads(json_daten)
daten
# Zugriff auf verschachtelte Daten
for person in daten["Personen"]:
print(f"Name: {person['Name']}, Hobbys: {', '.join(person['Hobbys'])}")
Name: Max, Hobbys: Lesen, Schwimmen
Name: Anna, Hobbys: Radfahren, Kochen