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!