Heim >Backend-Entwicklung >Python-Tutorial >Wie kann ich Python-Dezimalobjekte präzise in JSON kodieren?

Wie kann ich Python-Dezimalobjekte präzise in JSON kodieren?

Barbara Streisand
Barbara StreisandOriginal
2024-12-03 10:23:10825Durchsuche

How Can I Encode Python Decimal Objects to JSON Accurately?

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!

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