Heim  >  Artikel  >  Backend-Entwicklung  >  So serialisieren und deserialisieren Sie Objekte mithilfe von Pickle und JSON in Python

So serialisieren und deserialisieren Sie Objekte mithilfe von Pickle und JSON in Python

WBOY
WBOYOriginal
2023-10-16 09:22:501731Durchsuche

So serialisieren und deserialisieren Sie Objekte mithilfe von Pickle und JSON in Python

So verwenden Sie Pickle und JSON in Python zur Objektserialisierung und -deserialisierung

Python ist eine einfache, aber leistungsstarke Programmiersprache, die über viele nützliche integrierte Bibliotheken und Module verfügt, die es Entwicklern ermöglichen, verschiedene Aufgaben schnell auszuführen . Unter diesen sind Pickle und JSON zwei häufig verwendete Module für die Objektserialisierung und -deserialisierung. In diesem Artikel wird die Verwendung dieser beiden Module zum Serialisieren und Deserialisieren von Objekten vorgestellt und detaillierte Codebeispiele bereitgestellt.

  1. Verwenden Sie Pickle zur Objektserialisierung und -deserialisierung.

Pickle ist ein Modul in Python, mit dem Objekte zur Speicherung oder Übertragung in Binärdaten konvertiert und Binärdaten auch im Originalobjekt wiederhergestellt werden können.

Zuerst müssen wir das Pickle-Modul importieren:

import pickle

Als nächstes können wir die Dumps-Funktion des Pickle-Moduls verwenden, um das Objekt in Binärdaten zu serialisieren:

data = {'name':'Tom', 'age': 25, 'city': 'New York'}
serialized_data = pickle.dumps(data)

Nach Verwendung der Dumps-Funktion speichert die Variable serialized_data das serialisierte Binärdaten. Im Gegenteil, wir können die Ladefunktion verwenden, um die Binärdaten im Originalobjekt wiederherzustellen:

deserialized_data = pickle.loads(serialized_data)
print(deserialized_data)

Zu diesem Zeitpunkt speichert die Variable deserialized_data das wiederhergestellte Originalobjekt.

Hier ist ein vollständiges Beispiel, das zeigt, wie ein benutzerdefiniertes Person-Objekt serialisiert und deserialisiert wird:

import pickle

class Person:
    def __init__(self, name, age):
        self.name = name
        self.age = age

# 序列化对象
person = Person('Tom', 25)
serialized_person = pickle.dumps(person)

# 反序列化对象
deserialized_person = pickle.loads(serialized_person)
print(deserialized_person.name)
print(deserialized_person.age)
  1. JSON für die Serialisierung und Deserialisierung von Objekten verwenden

JSON ist ein leichtes Level-Datenaustauschformat, das einfach zu lesen und zu schreiben ist. Python stellt das JSON-Modul bereit, mit dem JSON-Objekte einfach serialisiert und deserialisiert werden können.

Zuerst müssen wir das JSON-Modul importieren:

import json

Als nächstes können wir die Dumps-Funktion des JSON-Moduls verwenden, um das Objekt in einen JSON-String zu serialisieren:

data = {'name':'Tom', 'age': 25, 'city': 'New York'}
serialized_data = json.dumps(data)

Nach Verwendung der Dumps-Funktion wird die Variable serialized_data gespeichert die serialisierte JSON-Zeichenfolge. Im Gegenteil, wir können die Load-Funktion verwenden, um die JSON-Zeichenfolge im Originalobjekt wiederherzustellen:

deserialized_data = json.loads(serialized_data)
print(deserialized_data)

Zu diesem Zeitpunkt speichert die Variable deserialized_data das wiederhergestellte Originalobjekt.

In ähnlicher Weise finden Sie hier ein vollständiges Beispiel, das zeigt, wie ein benutzerdefiniertes Personenobjekt serialisiert und deserialisiert wird:

import json

class Person:
    def __init__(self, name, age):
        self.name = name
        self.age = age

# 序列化对象
person = Person('Tom', 25)
serialized_person = json.dumps(person.__dict__)

# 反序列化对象
deserialized_person = json.loads(serialized_person)
print(deserialized_person['name'])
print(deserialized_person['age'])

Zusammenfassung:

Mit den Pickle- und JSON-Modulen können wir problemlos Serialisierung und Deserialisierung von Objekten durchführen. Verwenden Sie Pickle, um Objekte in Binärdaten umzuwandeln, die zur Dateispeicherung und Netzwerkübertragung verwendet werden können. JSON kann als universelles Datenaustauschformat problemlos Daten mit anderen Sprachen austauschen. Entsprechend den spezifischen Nutzungsszenarien und Anforderungen können wir das geeignete Modul für die Durchführung von Objektserialisierungs- und Deserialisierungsvorgängen auswählen.

Das obige ist der detaillierte Inhalt vonSo serialisieren und deserialisieren Sie Objekte mithilfe von Pickle und JSON in Python. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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