Maison >développement back-end >Tutoriel Python >Comment puis-je encoder avec précision des objets décimaux Python en JSON ?

Comment puis-je encoder avec précision des objets décimaux Python en JSON ?

Barbara Streisand
Barbara Streisandoriginal
2024-12-03 10:23:10870parcourir

How Can I Encode Python Decimal Objects to JSON Accurately?

Encodage d'objets décimaux en JSON en Python

JSON, un format d'échange de données omniprésent, rencontre des défis lors du traitement des objets décimaux de Python. Pour résoudre ce problème, nous cherchons à sérialiser un objet Decimal('3.9') en une chaîne JSON qui représente avec précision la valeur d'origine sous la forme {'x' : 3.9}.

SimpleJSON à la rescousse

Bien que l'encodeur JSON intégré de Python ne puisse pas gérer les décimales, une solution viable émerge avec SimpleJSON, un bibliothèque tierce. SimpleJSON version 2.1 et supérieure offre une prise en charge native du type Decimal. En exploitant le paramètre use_decimal, nous permettons une sérialisation transparente.

Voici un exemple :

import simplejson as json

result = json.dumps(Decimal('3.9'), use_decimal=True)
print(result)  # Output: '3.9'

Par défaut, use_decimal est défini sur True, donc la commande suivante produit également le résultat souhaité :

result = json.dumps(Decimal('3.9'))
print(result)  # Output: '3.9'

Il est à noter que SimpleJSON devrait intégrer cette fonctionnalité dans le standard de Python bibliothèque.

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