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

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

DDD
DDDOriginal
2024-11-24 18:18:11409Durchsuche

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

Serialisierung von Dezimalobjekten in Pythons JSON

Das Einkapseln von Zahlen als Dezimalobjekte stellt bei der JSON-Serialisierung eine Herausforderung dar. Um {'x': 3.9} zu erreichen, reicht eine Float-Konvertierung nicht aus, was zu einer ungenauen '3.89999999999999999' führt.

Verwendung von SimpleJSON

SimpleJSON 2.1 und höher bieten a Lösung mit nativer Unterstützung für Decimal-Typen. Standardmäßig ist use_decimal aktiviert, was zur gewünschten Serialisierung führt:

import simplejson as json

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

Bleiben Sie dran

Erwarten Sie die mögliche Aufnahme dieser Funktion in die Standardbibliothek von Python, um JSON zu verbessern Serialisierungsfunktionen für Dezimalobjekte.

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