Heim >Backend-Entwicklung >Python-Tutorial >Es lohnt sich, JSON-Bibliotheken von Drittanbietern in Python zu lernen

Es lohnt sich, JSON-Bibliotheken von Drittanbietern in Python zu lernen

PHPz
PHPznach vorne
2023-04-11 20:49:072188Durchsuche

Bei unserer täglichen Verwendung von Python verwenden wir häufig das JSON-Format zum Speichern einiger Daten, insbesondere in der Webentwicklung. Die native JSON-Bibliothek von Python weist jedoch eine schlechte Leistung und wenige Funktionen auf und kann nur einfache und leichte Anforderungen an die Speicherung und Konvertierung von JSON-Daten erfüllen.

Es lohnt sich, JSON-Bibliotheken von Drittanbietern in Python zu lernen

Die Drittanbieter-JSON-Bibliothek orjson, die ich Ihnen in diesem Artikel vorstellen möchte, wurde mehrfach bis zehnmal in verschiedenen öffentlichen Benchmarks getestet Leistungstests. Der Leistungsvorteil ist doppelt so hoch wie der von json, ujson, rapidjson, simplejson und anderen Python-Bibliotheken, und es gibt viele zusätzliche Funktionen. Werfen wir einen Blick auf die gängigen Methoden. 🎜🎜## 🎜🎜#orjson unterstützt alle Versionen von 64-Bit-Python von 3.7 bis 3.10. Die in diesem Artikel gezeigte orjson-Version ist 3.7.0. Sie können die Installation direkt mit pip install -U orjson abschließen. Lassen Sie uns die gängigen Methoden in orjson demonstrieren:

1. Serialisierung

Ähnlich wie bei der nativen JSON-Bibliothek können wir orjson.dumps() verwenden, um Python-Objekte in JSON-Daten zu serialisieren. Beachten Sie, dass der kleine Unterschied darin besteht, dass das Ergebnis der Orjson-Serialisierung nicht vom Typ str, sondern vom Typ bytes ist. Im folgenden Beispiel serialisieren wir eine Liste mit 10 Millionen einfachen Wörterbuchelementen, orjson. Der zeitaufwändige Vergleich mit der JSON-Bibliothek ist wie folgt:

2. Deserialisierung

Es lohnt sich, JSON-Bibliotheken von Drittanbietern in Python zu lernenJSON-Daten in Python-Objekte konvertieren Wir nennen den Prozess Deserialisierung und verwenden orjson.loads() zum Betrieb, der gängige Typen wie Bytes und Str akzeptiert. Basierend auf dem vorherigen Beispiel fügen wir ein Deserialisierungsbeispiel hinzu:

#

3

In der Serialisierungsoperation von orjson können viele zusätzliche Funktionen über Parameteroptionen konfiguriert werden: #🎜 🎜#

(1) OPT_INDENT_2Es lohnt sich, JSON-Bibliotheken von Drittanbietern in Python zu lernen

Durch die Konfiguration von option=orjson.OPT_INDENT_2 können wir dem serialisierten JSON-Ergebnis einen Einrückungsverschönerungseffekt von 2 Leerzeichen hinzufügen und so das Fehlen von Parametern ausgleichen:

# 🎜🎜#

(2) OPT_OMIT_MICROSECONDS

orjson.dumps() kann Datum, Uhrzeit usw. direkt in Python ausgeben. Das Datums- und Uhrzeitobjekt in der Standardbibliothek wird in die entsprechende Zeichenfolge konvertiert , was mit der nativen JSON-Bibliothek nicht möglich ist, kann der Millisekundenteil des Suffixes des Konvertierungsergebnisses weggelassen werden:

#🎜 🎜#

# 🎜🎜#(3) OPT_NON_STR_KEYSEs lohnt sich, JSON-Bibliotheken von Drittanbietern in Python zu lernen

Wenn das zu serialisierende Objekt einen nicht numerischen Schlüssel hat, löst orjson standardmäßig einen TypeError aus. In diesem Fall müssen Sie Option=orjson.OPT_NON_STR_KEYS konfigurieren, um es zu erzwingen Konvertierung dieser Schlüssel in den Zeichentyp:

(4) OPT_SERIALIZE_NUMPYEs lohnt sich, JSON-Bibliotheken von Drittanbietern in Python zu lernen

orjson Ein wichtiges Merkmal ist, dass es komplexe konvertieren kann Objekte, die Datenstrukturobjekte in Numpy enthalten, in Arrays in JSON mit Kompatibilität, nur mit option=orjson.OPT_SERIALIZE_NUMPY:

Zusätzlich zur automatischen Serialisierung von Numpy-Objekten unterstützt orjson auch die Konvertierung von UUID-Objekten. In Versionen vor orjson 3.0 ist option=orjson erforderlich, und die in diesem Artikel gezeigte 3.X-Version erfordert keine zusätzliche Konfiguration Parameter:

Es lohnt sich, JSON-Bibliotheken von Drittanbietern in Python zu lernen(6) OPT_SORT_KEYS

Pass Mit dem Parameter option=orjson.OPT_SORT_KEYS können die Ergebnisse automatisch serialisiert werden sortiert nach Schlüssel:

Es lohnt sich, JSON-Bibliotheken von Drittanbietern in Python zu lernen(7) Kombinieren mehrerer Optionen#🎜 🎜#

Wenn Ihr Serialisierungsvorgang mehrere Optionsfunktionen umfassen muss, können Sie kann den Operator | verwenden, um mehrere Optionsparameter zu kombinieren:

Es lohnt sich, JSON-Bibliotheken von Drittanbietern in Python zu lernen

4. Fügen Sie benutzerdefinierte Verarbeitungsstrategien für Datenklasse und Datum/Uhrzeit hinzu.

Wenn das zu serialisierende Objekt eine benutzerdefinierte Datenstruktur der Datenklasse umfasst, können Sie mit orjson.OPT_PASSTHROUGH_DATACLASS zusammenarbeiten und dann die benutzerdefinierte Verarbeitung durch Übergabe der Standardparameterfunktion übergeben Um eine freiere Datenkonvertierungslogik zu erreichen, können wir beispielsweise im folgenden einfachen Beispiel diese Funktion verwenden, um die Originaldaten zu desensibilisieren: So implementieren Sie die Konvertierung eines benutzerdefinierten Datumsformats:

Es lohnt sich, JSON-Bibliotheken von Drittanbietern in Python zu lernen

orjson Weitere Funktionen finden Sie im offiziellen Lager https://github.com/ijl/orjson, um mehr zu erfahren.

Das obige ist der detaillierte Inhalt vonEs lohnt sich, JSON-Bibliotheken von Drittanbietern in Python zu lernen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:51cto.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen