Heim  >  Artikel  >  Backend-Entwicklung  >  Wie kann ich Dezimalobjekte in Python in JSON serialisieren, ohne an Präzision zu verlieren?

Wie kann ich Dezimalobjekte in Python in JSON serialisieren, ohne an Präzision zu verlieren?

Linda Hamilton
Linda HamiltonOriginal
2024-11-27 13:21:13350Durchsuche

How Can I Serialize Decimal Objects to JSON in Python Without Losing Precision?

Dezimalobjekte in JSON in Python serialisieren

Beim Versuch, ein Dezimalobjekt in eine JSON-Zeichenfolge zu kodieren, können Benutzer auf Probleme mit der Ablehnung durch JSONDecoder stoßen Dezimalobjekte. Darüber hinaus kann die vorherige Konvertierung des Decimal-Objekts in ein Float zu einem Präzisionsverlust führen.

Lösung mit Simplejson

Simplejson Version 2.1 und höher bietet native Unterstützung für Decimal-Typen. Standardmäßig werden Decimal-Objekte als Zeichenfolgen serialisiert, wobei der Parameter use_decimal auf True gesetzt ist. So nutzen Sie diese Funktion:

import simplejson as json

json_string = json.dumps(Decimal('3.9'))
# Output: '3.9'

Voraussichtliche Aufnahme in die Standardbibliothek

Diese Funktion wird voraussichtlich in Zukunft in die Python-Standardbibliothek integriert und bietet mehr Robuste Lösung zum Serialisieren von Dezimalobjekten in JSON.

Das obige ist der detaillierte Inhalt vonWie kann ich Dezimalobjekte in Python in JSON serialisieren, ohne an Präzision zu verlieren?. 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