Inhaltsverzeichnis
Serialisierung von Python -Objekten mit JSON
Deserialisierung von JSON -Daten zurück zu Python
Umgang mit komplexen Datentypen
Letzte Gedanken
Heim Backend-Entwicklung Python-Tutorial Wie geht Pythons JSON -Modul mit der Serialisierung und Deserialisierung von JSON -Daten um?

Wie geht Pythons JSON -Modul mit der Serialisierung und Deserialisierung von JSON -Daten um?

Jun 08, 2025 am 12:02 AM
python json

Das JSON -Modul von Python erleichtert die Verarbeitung von JSON -Daten durch Bereitstellung von Serialisierungs- und Deserialisierungsfunktionen. Verwenden Sie zunächst json.dumps (), um Python -Objekte in JSON -Zeichenfolgen umzuwandeln, wie z. B. Wörterbücher in JSON -Objekte umzuwandeln. Zweitens verwenden Sie json.dump (), um JSON -Daten in eine Datei zu schreiben. Drittens verwenden Sie JSON.Loads (), um JSON -Strings in Python -Objekte zu analysieren. Viertens verwenden Sie JSON.LOAD (), um JSON -Daten aus der Datei zu lesen und zu analysieren. Schließlich können Sie für komplexe Typen die benutzerdefinierte Serialisierung über den Standardparameter und die benutzerdefinierte Deserialisierung über den Parameter Object_hook. Dieses Modul unterstützt grundlegende Typen, erfordert jedoch eine manuelle Verarbeitung von benutzerdefinierten Typen.

Wie handelt es sich bei dem JSON -Modul von Python 'S mit der Serialisierung und Deserialisierung von JSON -Daten?

Das json -Modul von Python bietet eine einfache Möglichkeit, mit JSON -Daten zu arbeiten, sodass Sie zwischen Python -Objekten und JSON -Zeichenfolgen konvertieren können. So behandelt es sowohl die Serialisierung (Python zu JSON) als auch die Deserialisierung (JSON to Python).


Serialisierung von Python -Objekten mit JSON

Serialisierung ist der Prozess der Konvertierung von Python-Datenstrukturen wie Wörterbüchern oder Listen in JSON-formatierte Zeichenfolgen.

Die Hauptfunktionen dafür sind:

  • json.dumps() - Umwandelt ein Python -Objekt in eine JSON -String.
  • json.dump() -schreibt die JSON-Daten direkt in ein Datei-ähnlicher Objekt.

Zum Beispiel:

 JSON importieren

Data = {
    "Name": "Alice",
    "Alter": 30,,
    "is_student": false
}

json_string = json.dumps (Daten)

Dies erzeugt eine Zeichenfolge wie '{"name": "Alice", "age": 30, "is_student": false}' .

Einige gemeinsame Anmerkungen:

  • Python dict S wird zu JSON -Objekten.
  • Python list S wird zu JSON -Arrays.
  • Python None , True und False wird in JSON null , true und false .

Wenn Sie in eine Datei schreiben, verwenden Sie json.dump() :

 mit Open ("Data.json", "W") als F:
    Json.dump (Daten, f)

Deserialisierung von JSON -Daten zurück zu Python

Die Deserialisierung ist das Gegenteil - eine JSON -Zeichenfolge oder eine Datei wieder in Python -Objekte zu verwandeln.

Schlüsselfunktionen hier sind:

  • json.loads() - Pariert eine JSON -String in ein Python -Objekt.
  • json.load() -liest aus einem fileähnlichen Objekt und analysiert die JSON-Daten im Inneren.

Beispiel mit json.loads() :

 JSON_DATA = '{"Name": "Bob", "Alter": 25}'
python_dict = json.loads (json_data)

Jetzt ist python_dict ein normales Python -Wörterbuch: {'name': 'Bob', 'age': 25} .

Und wenn Ihr JSON in einer Datei gespeichert ist:

 mit Open ("Data.json", "R") als F:
    Loaded_data = json.load (f)

Sie erhalten die ursprüngliche Python -Struktur, vorausgesetzt, der JSON war gültig.


Umgang mit komplexen Datentypen

Standardmäßig unterstützt das json -Modul nur grundlegende Typen wie dict , list , str , int , float , bool und None . Wenn Sie versuchen, etwas anderes wie ein benutzerdefiniertes Objekt oder eine DateTime zu serialisieren, erhalten Sie einen TypeError .

Um benutzerdefinierte Typen zu handhaben:

  • Verwenden Sie den default in json.dumps() um zu definieren, wie nicht unterstützte Typen konvertiert werden sollten.
  • Verwenden Sie zur Deserialisierung den Parameter object_hook in json.loads() oder json.load() um anzupassen, wie JSON -Objekte wieder in Python -Objekte verwandelt werden.

Zum Beispiel, um ein datetime -Objekt zu serialisieren:

 Aus der DateTime -Importdatetime importieren
JSON importieren

Default_Serializer (OBJ):
    Wenn is inviert (obj, datetime):
        Rückgabe obj.isoformat ()
    typeerror erhöhen ("Typ nicht serialisierbar")

json.dumps ({"now": datetime.now ()}, default = default_serializer)

Dies gibt eine Zeichenfolge wie '{"now": "2024-11-05T12:34:56.789"}' zurück.

Auf der Deserialisierungsseite können Sie diese ISO -Datumszeichenfolge mit einem object_hook in ein datetime -Objekt zurückziehen.


Letzte Gedanken

Die Zusammenarbeit mit JSON in Python ist dank des eingebauten json Moduls ziemlich glatt. Es behandelt die häufigsten Datentypen in der Box und bietet Ihnen Tools, um das Verhalten bei Bedarf zu erweitern.

Denken Sie daran:

  • Verwenden Sie dumps / loads für Zeichenfolgen und dump load Dateien.
  • Verfolgen Sie, welche Typen Sie serialisieren - benutzerdefinierte Typen benötigen eine spezielle Handhabung.
  • JSON -Keys sind immer Saiten. Erwarten Sie also nicht andere Typen.

Grundsätzlich ist das.

Das obige ist der detaillierte Inhalt vonWie geht Pythons JSON -Modul mit der Serialisierung und Deserialisierung von JSON -Daten um?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Clothoff.io

Clothoff.io

KI-Kleiderentferner

Video Face Swap

Video Face Swap

Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Kann eine Python -Klasse mehrere Konstruktoren haben? Kann eine Python -Klasse mehrere Konstruktoren haben? Jul 15, 2025 am 02:54 AM

Ja, ApythonCanhavemultipleConstructorToHalternativetechnik.1.UTEFAULTARGUMENTETHED__INIT__METHODTOALLIBLEINIGIALISIALISIONISCHE Withvaryingnumbersofparameter

Python für die Reichweite des Schleifens Python für die Reichweite des Schleifens Jul 14, 2025 am 02:47 AM

In Python ist die Verwendung von A for Loop mit der Funktion von range () eine häufige Möglichkeit, die Anzahl der Schleifen zu steuern. 1. Verwenden Sie, wenn Sie die Anzahl der Schleifen kennen oder nach Index zugreifen müssen. 2. Bereich (Stopp) von 0 bis Stopp-1, Bereich (Start, Stopp) von Start bis Stopp-1, Bereich (Start, Stopp) fügt die Schrittgröße hinzu; 3.. Beachten Sie, dass der Bereich nicht den Endwert enthält und iterable Objekte anstelle von Listen in Python 3 zurückgibt. 4.. Sie können überlist (range ()) in eine Liste konvertieren und negative Schrittgröße in umgekehrter Reihenfolge verwenden.

Zugriff auf Daten von einer Web -API in Python zu Daten Zugriff auf Daten von einer Web -API in Python zu Daten Jul 16, 2025 am 04:52 AM

Der Schlüssel zur Verwendung von Python zum Aufrufen von Webapi, um Daten zu erhalten, liegt darin, die grundlegenden Prozesse und gemeinsamen Tools zu beherrschen. 1. Die Verwendung von Anfragen zum Einlösen von HTTP -Anforderungen ist der direkteste Weg. Verwenden Sie die GET -Methode, um die Antwort zu erhalten und JSON () zu verwenden, um die Daten zu analysieren. 2. Für APIs, die Authentifizierung benötigen, können Sie Token oder Schlüssel über Header hinzufügen. 3.. Sie müssen den Antwortstatuscode überprüfen. Es wird empfohlen, die Antwort zu verwenden. 4. Mit Blick auf die Paging -Schnittstelle können Sie nacheinander verschiedene Seiten anfordern und Verzögerungen hinzufügen, um Frequenzbeschränkungen zu vermeiden. 5. Bei der Verarbeitung der zurückgegebenen JSON -Daten müssen Sie Informationen gemäß der Struktur extrahieren, und komplexe Daten können in Daten konvertiert werden

Python eine Zeile wenn noch Python eine Zeile wenn noch Jul 15, 2025 am 01:38 AM

Python's OnelineIgelse ist ein ternärer Operator, der als Xifconditionelsey geschrieben wurde und zur Vereinfachung des einfachen bedingten Urteils verwendet wird. Es kann für die variable Zuordnung verwendet werden, wie z. B. Status = "Erwachsener" iFage> = 18LSE "minor"; Es kann auch verwendet werden, um Ergebnisse direkt in Funktionen wie Defget_Status (Alter) zurückzugeben: Rückgabe "Erwachsener" iFage> = 18LSE "Minor"; Obwohl eine verschachtelte Verwendung unterstützt wird, wie z. B. Ergebnis = "a" i i

Wie lese ich eine JSON -Datei in Python? Wie lese ich eine JSON -Datei in Python? Jul 14, 2025 am 02:42 AM

Das Lesen von JSON -Dateien kann in Python über das JSON -Modul implementiert werden. Die spezifischen Schritte sind: Verwenden Sie die Funktion open (), um die Datei zu öffnen, verwenden Sie jSON.load (), um den Inhalt zu laden, und die Daten werden in einem Wörterbuch- oder Listenformular zurückgegeben. Wenn Sie JSON -Zeichenfolgen verarbeiten, sollten Sie json.loads () verwenden. Zu den häufigen Problemen gehören Dateipfadfehler, ein falsches JSON -Format, Codierungsprobleme und Datentypkonvertierungsunterschiede. Achten Sie auf Pfadgenauigkeit, Format -Legalität, Codierungseinstellungen und Zuordnung von Booleschen Werten und Null.

Python für Loop zum Lesen der Dateizeile nach Zeile Python für Loop zum Lesen der Dateizeile nach Zeile Jul 14, 2025 am 02:47 AM

Die Verwendung von A for Loop zum Lesen von Dateien für Zeile ist eine effiziente Möglichkeit, große Dateien zu verarbeiten. 1. Die grundlegende Nutzung besteht darin, die Datei mit Open () zu öffnen und das Schließen automatisch zu verwalten. Kombiniert mit ForlineInfile, um jede Zeile zu überqueren. Line.strip () kann Linienbrüche und Räume entfernen; 2. Wenn Sie die Zeilennummer aufzeichnen müssen, können Sie die Aufzählung (Datei, Start = 1) verwenden, um die Zeilennummer ab 1 zu starten. 3. Bei der Verarbeitung von Nicht-ASCII-Dateien sollten Sie Codierungsparameter wie UTF-8 angeben, um Codierungsfehler zu vermeiden. Diese Methoden sind prägnant und praktisch und für die meisten Textverarbeitungsszenarien geeignet.

Python-Fall-unempfindliche Zeichenfolge vergleichen Sie, ob Python-Fall-unempfindliche Zeichenfolge vergleichen Sie, ob Jul 14, 2025 am 02:53 AM

Der direkteste Weg, um in Python zu unempfindliche String-Vergleiche durchzuführen, besteht darin, zu vergleichen .LOWER () oder .upper (). Zum Beispiel kann Str1.lower () == str2.lower () bestimmen, ob es gleich ist; Zweitens wird für mehrsprachige Text eine gründlichere Fallfold () wie "Straß" verwendet. Casefold () wird in "Strasse" konvertiert, während .LOWER () bestimmte Zeichen behalten kann; Darüber hinaus sollte es vermieden werden, == Vergleich direkt zu verwenden, sofern der Fall nicht konsistent bestätigt wird, ist es leicht, logische Fehler zu verursachen. Bei der Verarbeitung von Benutzereingaben, Datenbank oder Übereinstimmung schließlich

Hat Python Funktion Überladen? Hat Python Funktion Überladen? Jul 14, 2025 am 02:35 AM

Nein, pythondoesnotsupportfunctionOverloadinginthetitionalsense.1

See all articles