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!