Heim > Backend-Entwicklung > Python-Tutorial > 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
Freigeben: 2024-11-27 13:21:13
Original
411 Leute haben es durchsucht

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'
Nach dem Login kopieren

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!

Quelle:php.cn
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage