Maison >développement back-end >Tutoriel Python >Comment puis-je sérialiser des objets décimaux dans Python JSON sans perdre en précision ?

Comment puis-je sérialiser des objets décimaux dans Python JSON sans perdre en précision ?

DDD
DDDoriginal
2024-11-25 05:07:15466parcourir

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

Sérialisation d'objets décimaux en Python JSON

La sérialisation d'objets décimaux en JSON présente un défi en raison du manque de prise en charge des objets décimaux dans JSONDecoder . La conversion d'objets décimaux en flottants peut entraîner une perte de précision.

Solution :

Simplejson, une bibliothèque JSON tierce, propose une solution native pour sérialiser les objets décimaux. Les versions 2.1 et supérieures de simplejson fournissent un paramètre use_decimal dans la fonction dumps. Par défaut, use_decimal est True, permettant aux objets Decimal d'être sérialisés sous forme de chaînes sans perte de précision :

import simplejson as json

decimal_object = Decimal('3.9')
json_string = json.dumps(decimal_object)
# Output: '3.9'

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn