JSON (JavaScript Object Notation) ist ein beliebtes Format zum Speichern und Austauschen von Daten. Es wird aufgrund seines kompakten und für Menschen lesbaren Formats in Webanwendungen, APIs und Datenbanken verwendet. JSON strukturiert Daten in Schlüssel-Wert-Paaren, sodass es plattformübergreifend problemlos verwendet werden kann.
In Python ist das Arbeiten mit JSON-Dateien dank der integrierten Bibliotheken von Python, wie z. B. json, die das einfache Lesen, Analysieren und Verarbeiten von JSON-Daten ermöglichen, einfach. Egal, ob Sie mit lokalen Dateien arbeiten oder Daten von einem Webdienst abrufen, Python verfügt über Tools zum problemlosen Umgang mit JSON-Daten.
In diesem Artikel erfahren Sie, wie Sie JSON-Dateien in Python lesen, JSON-Daten laden und analysieren und mit ihren Strukturen arbeiten. Sie erfahren auch, wie Sie JSON-Daten ändern und schreiben. Legen wir los!
Hier ist ein einfaches Tutorial zum Lesen von JSON-Dateien in Python:
Inhaltsverzeichnis
- Die richtigen
json.load()
zum Lesen von JSON aus einer Datei - Lesen von JSON aus einem String mit
json.loads()
- Auf verschachtelte Daten zugreifen
- Ändern von JSON-Daten
- Schreiben von JSON-Daten in eine Datei mit
json.dump()
- Fehlerbehandlung beim Lesen von JSON-Dateien
- Abschließende Überlegungen
- Häufig gestellte Fragen (FAQs)
Was sind JSON-Dateien?
Eine JSON-Datei (JavaScript Object Notation-Datei) ist eine Textdatei, die zum Speichern und Austauschen von Daten verwendet wird. Sie speichert Daten strukturiert und lesbar, indem sie Schlüssel-Wert-Paare verwendet, wobei jeder Schlüssel einem Wert zugeordnet ist. Dies erleichtert Menschen und Maschinen das Lesen und Schreiben von Daten. JSON wird in Webanwendungen, APIs und Konfigurationen verwendet, da es leichtgewichtig und einfach zu verwenden ist. Das Verständnis von JSON-Dateien ist ein wesentlicher Bestandteil von Schulung technischer Fähigkeiten für Fachleute in Bereichen wie Softwareentwicklung, Datenmanagement und Webentwicklung, da es hilft, den Datenaustausch zwischen Systemen zu optimieren und die Projekteffizienz zu verbessern.
Hier ist ein Beispiel für eine einfache JSON-Datei:
1 | { |
In diesem Beispiel enthält die Datei Informationen über eine Person namens „Jane Smith“, die 28 Jahre alt und Entwicklerin ist. languages
Key verfügt über eine Reihe von Programmiersprachen, die sie kennt.
Mit Python können Sie JSON-Dateien sofort lesen, schreiben und speichern. Sehen wir uns an, wie das geht.
Laden von JSON-Daten in Python
Dank des integrierten JSON-Moduls ist das Laden von JSON in Python ganz einfach. Unabhängig davon, ob sich JSON in einer Datei oder einem String befindet, verfügt Python über Methoden zum Laden und Parsen. In diesem Abschnitt werden zwei Möglichkeiten zum Laden von JSON behandelt: aus einer Datei und aus einem String.
Die richtigen json.load()
zum Lesen von JSON aus einer Datei
Wenn Sie mit einer JSON-Datei in Python arbeiten, können Sie verwenden json.load()
um die Daten direkt aus der Datei zu laden. Diese Methode liest die Datei und analysiert sie in ein Python-Objekt (normalerweise ein Wörterbuch).
Hier ist ein Beispiel zum Lesen einer JSON-Datei:
1 | importieren JSON |
In diesem Code verwenden wir open()
Funktion zum Öffnen der Datei im Lesemodus (‘r’
) und übergeben Sie dann das Dateiobjekt an json.load()
um das JSON zu lesen und in ein Python-Wörterbuch zu analysieren. Anschließend können Sie mithilfe der Schlüssel auf die Daten zugreifen.
Zum Beispiel, wenn Ihr data.json
Die Datei enthält Folgendes:
1 | { |
Der Ausgang wird:
1 | {'Süßkartoffel': 'Alice', 'Alter': 25, „ist beschäftigt“: Wahre} |
Lesen von JSON aus einem String mit json.loads()
Wenn das JSON eine Zeichenfolge ist, können Sie verwenden json.loads()
um es zu analysieren. Dies ist nützlich, wenn Sie mit JSON-Daten arbeiten, die von einer API oder einer anderen externen Quelle abgerufen wurden.
Hier ist ein Beispiel:
1 | importieren JSON |
In diesem Beispiel json.loads()
nimmt den JSON-String und wandelt ihn in ein Python-Wörterbuch um. Sie können dann auf die Daten zugreifen, als kämen sie aus einer Datei.
Die Ausgabe lautet beispielsweise:
1 | {'Produkt': 'Laptop', 'Preis': 999, 'auf Lager': Wahre} |
Als Nächstes behandeln wir die allgemeinen Operationen, die Sie mit JSON in Python durchführen können.
Allgemeine Operationen mit JSON in Python
Nachdem Sie JSON-Daten in Python geladen haben, können Sie damit verschiedene Dinge tun, z. B. auf verschachtelte Daten zugreifen, sie ändern und die Änderungen wieder in einer Datei speichern. Lassen Sie uns diese anhand einfacher Beispiele nacheinander durchgehen.
Auf verschachtelte Daten zugreifen
JSON-Daten haben oft verschachtelte Strukturen wie Wörterbücher in Wörterbüchern oder Listen in Listen. Der Zugriff auf diese verschachtelten Daten in Python ist mithilfe von Schlüssel-Wert-Zugriff oder Listenindizierung einfach.
Beispiel:
1 | importieren JSON |
Hier:
- Wir laden zunächst den JSON-String mit
json.loads()
. - Wir greifen auf verschachtelte Daten zu, wie zum Beispiel die
city
innerhalb deraddress
Wörterbuch und die erste Fähigkeit aus demskills
Liste.
Ändern von JSON-Daten
Sie können JSON-Daten nach dem Laden problemlos in Python ändern. Änderungen können das Aktualisieren von Werten, das Hinzufügen neuer Daten oder das Entfernen vorhandener Schlüssel umfassen.
Beispiel:
1 | importieren JSON |
In diesem Beispiel:
- Wir modifizieren die
age
Wert von 25 bis 26. - Wir fügen einen neuen Schlüssel hinzu
skills
mit einem Array von Werten. - Die
json.dumps()
Die Funktion wird verwendet, um die geänderten JSON-Daten in einem lesbaren Format mit Einrückungen auszudrucken.
Schreiben von JSON-Daten in eine Datei mit json.dump()
Nachdem Sie JSON-Daten geändert haben, möchten Sie diese möglicherweise wieder in einer Datei speichern. Mithilfe der Funktion json.dump() können Sie die Daten im JSON-Format wieder in eine Datei schreiben.
Beispiel:
1 | importieren JSON |
In diesem Beispiel:
- Wir ändern und organisieren die Daten in einem Python-Wörterbuch.
- Die
json.dump()
Methode schreibt die Daten in eine Datei namensmodified_data.json
. - Die
indent=4
Der Parameter macht die JSON-Datei durch Hinzufügen einer Einrückung lesbar.
Das Erlernen dieser allgemeinen Vorgänge (Zugriff auf verschachtelte Daten, deren Änderung und Speicherung in einer Datei) ist für die Arbeit mit JSON-Dateien in Python sehr wichtig. Sie ermöglichen Ihnen die Bearbeitung und Organisation Ihrer Daten für viele Anwendungsfälle.
Als Nächstes behandeln wir die Fehlerbehandlung beim Lesen von JSON-Dateien, damit Ihre Programme nicht abstürzen.
Fehlerbehandlung beim Lesen von JSON-Dateien
Wenn Sie mit JSON-Daten in Python arbeiten, müssen Sie Fehler behandeln, die beim Lesen oder Parsen von JSON-Dateien auftreten können. Fehler können aus vielen Gründen auftreten, beispielsweise aufgrund einer ungültigen JSON-Syntax, falscher Dateipfade oder Probleme mit der Dateicodierung. Eine ordnungsgemäße Fehlerbehandlung stellt sicher, dass Ihr Python-Skript reibungslos ausgeführt wird und unerwartete Fehler behoben werden können.
Lassen Sie uns einige häufige Fehler untersuchen und wie man sie in Python effektiv behebt.
Behandeln des Fehlers „Datei nicht gefunden“.
Wenn die angegebene JSON-Datei nicht existiert oder der Dateipfad falsch ist, gibt Python eine FileNotFoundError
. Sie können eine verwenden try-except
Block, um diesen Fehler abzufangen und eine benutzerfreundliche Meldung anzuzeigen.
Beispiel:
1 | importieren JSON |
In diesem Code:
- Wir versuchen zu lesen,
data.json
Datei. - Wenn die Datei nicht existiert,
FileNotFoundError
wird abgefangen und eine aussagekräftige Fehlermeldung ausgegeben.
Umgang mit ungültiger JSON-Syntax
Wenn die JSON-Datei ungültige Syntax enthält (z. B. fehlende Kommas, Klammern oder eckige Klammern), gibt Python eine json.JSONDecodeError
. Sie können diesen Fehler beheben, indem Sie try-except
Block, um zu verhindern, dass Ihr Programm abstürzt.
Beispiel:
1 | importieren JSON |
Hier:
- Die
invalid_json
In der Zeichenfolge fehlt eine schließende Klammer. - Die
json.JSONDecodeError
wird abgefangen und eine Fehlermeldung mit der Angabe des Problems ausgedruckt.
Umgang mit falscher Dateikodierung
Manchmal kann die JSON-Datei mit einer anderen Kodierung als UTF-8 gespeichert werden, was beim Lesen der Datei zu Dekodierungsfehlern führen kann. Pythons UnicodeDecodeError
behandelt solche Fälle und Sie können beim Öffnen der Datei die richtige Kodierung angeben, um Probleme zu vermeiden.
Beispiel:
1 | importieren JSON |
In diesem Code:
- Wir spezifizieren
encoding='utf-8'
beim Lesen der Datei. - Wenn es ein Problem mit der Dateikodierung gibt,
UnicodeDecodeError
wird abgefangen und eine entsprechende Fehlermeldung angezeigt.
Allgemeine Ausnahmebehandlung
Sie können auch eine allgemeine except
Block, um andere unerwartete Fehler abzufangen, die beim Lesen oder Arbeiten mit JSON-Dateien auftreten können.
Beispiel:
1 | importieren JSON |
Dieser Code:
- Verwendet einen allgemeinen
Exception
um alle Fehler abzufangen, die nicht in bestimmte Kategorien fallen. - Druckt die Fehlermeldung, um die Identifizierung des Problems zu erleichtern.
Die Fehlerbehandlung ist ein wesentlicher Bestandteil der Arbeit mit JSON-Dateien, da sie Ihnen hilft, Probleme wie fehlende Dateien, falsche Formate und Kodierungsprobleme zu bewältigen. Indem Sie diese Fehler frühzeitig erkennen, können Sie sicherstellen, dass Ihre Python-Skripte reibungsloser ausgeführt werden und einfacher zu debuggen sind.
Abschließende Überlegungen
Das Lesen und Arbeiten mit JSON-Dateien in Python ist eine wichtige Fähigkeit für Entwickler, insbesondere beim Umgang mit APIs, Webanwendungen oder Datenspeichern. Das in Python integrierte JSON-Modul erleichtert die Handhabung von JSON-Daten, egal ob Sie aus einer Datei lesen, eine Zeichenfolge analysieren oder die Daten ändern.
Indem Sie lernen, wie Sie JSON-Daten in Python laden, bearbeiten und schreiben, können Sie strukturierte Daten in Ihren Projekten effizient verwalten. Aufgrund seiner Flexibilität und Lesbarkeit ist JSON heute eines der am weitesten verbreiteten Formate. Mit den Tools von Python können Sie es problemlos in jede Anwendung integrieren.
Mit den in diesem Blog besprochenen Techniken sollten Sie gut gerüstet sein, um JSON-Daten in Ihren Python-Projekten zu verarbeiten, unabhängig von der Komplexität der Datenstrukturen. Weitere Tutorials wie diese finden Sie in unserem Blog. Wenn Sie Fragen oder Feedback haben, unsere Support-Team ist hier, um Ihnen zu helfen.
Häufig gestellte Fragen (FAQs)
F. Was ist der Unterschied zwischen json.load()
und json.loads()
bei Python?
json.load()
wird zum Lesen und Parsen von JSON-Daten aus einer Datei verwendet, während json.loads()
wird verwendet, um JSON-Daten aus einem String zu analysieren. Die s
in json.loads()
steht für „String“ (Zeichenfolge) und ist daher nützlich, wenn Sie JSON-Daten als Zeichenfolge und nicht in einer Datei haben.
Wie konvertiere ich eine JSON-Zeichenfolge in ein Python-Objekt?
Sie können eine JSON-Zeichenfolge in ein Python-Objekt konvertieren mit json.loads()
. Diese Funktion analysiert die JSON-Zeichenfolge und gibt ein Python-Wörterbuch oder eine Liste zurück.
Ejemplo:
1 | importieren JSON |
F: Wie schreibe ich JSON-Daten in Python in eine Datei?
Um JSON-Daten in eine Datei zu schreiben, verwenden Sie json.dump()
. Öffnen Sie die Datei im Schreibmodus und übergeben Sie dann das Python-Objekt und die Datei an json.dump()
um die JSON-Daten in der Datei zu speichern.
Ejemplo:
1 | importieren JSON |
F: Wie behandle ich Fehler bei der Arbeit mit JSON in Python?
Häufige Fehler bei der Arbeit mit JSON sind ungültiges JSON-Format oder falsche Dateipfade. Um diese zu beheben, können Sie Pythons try-except
Blöcke zum Abfangen von Ausnahmen wie json.JSONDecodeError
or FileNotFoundError
.
Ejemplo:
1 | importieren JSON |