Dezimalobjekte in JSON in Python kodieren
JSON, ein allgegenwärtiges Datenaustauschformat, stößt beim Umgang mit Pythons Dezimalobjekten auf Herausforderungen. Um dieses Problem zu beheben, versuchen wir, ein Decimal('3.9')-Objekt in eine JSON-Zeichenfolge zu serialisieren, die den Originalwert genau als {'x': 3.9} darstellt.
SimpleJSON to the Rescue
Während der integrierte JSON-Encoder von Python keine Dezimalzahlen verarbeiten kann, bietet SimpleJSON, eine Bibliothek eines Drittanbieters, eine praktikable Lösung. SimpleJSON Version 2.1 und höher bietet native Unterstützung für den Decimal-Typ. Durch die Nutzung des Parameters use_decimal ermöglichen wir eine nahtlose Serialisierung.
Hier ein Beispiel:
import simplejson as json result = json.dumps(Decimal('3.9'), use_decimal=True) print(result) # Output: '3.9'
Standardmäßig ist use_decimal auf True gesetzt, sodass der folgende Befehl auch das gewünschte Ergebnis liefert:
result = json.dumps(Decimal('3.9')) print(result) # Output: '3.9'
Bemerkenswert ist, dass von SimpleJSON erwartet wird, diese Funktionalität in den Python-Standard zu integrieren Bibliothek.
Das obige ist der detaillierte Inhalt vonWie kann ich Python-Dezimalobjekte präzise in JSON kodieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!