Json mise en forme de chaîne avec python

J'aimerais savoir si il y a moyen de formater la résultante des chaînes de la enconding d'un objet json en python. Par exemple, supposons que j'ai le dictionnaire suivant:

{'a': 12.73874, 'b': 1.74872, 'c': 8.27495}

et le résultat de l'encodage json est:

{
    "c": 8.27495,
    "b": 1.74872,
    "a": 12.73874
}

tandis que le résultat que je veux c'est:

{
    "a": 12.74,
    "c": 8.28,
    "b": 1.75
}

Avis de l'ordre des éléments et de la décimale de chaque nombre. Est-il possible de faire cela?

Merci d'avance!

Ce JSON ecnoder utilisez-vous? Celui qui est livré avec Python, ou simplejson, ou encore un autre?
Je pense que le point de JSON était d'être capable de restaurer l'objet que vous nourrissez c'est exactement ça. Dans ce cas, si vous tronquez après le point décimal, vous ne pourrez plus restaurer le dictionnaire de JSON (bien que le tri est une autre histoire)
Je suis en utilisant le json qui est livré avec python. Je pense que le problème ici n'est pas avec json lui-même mais avec l'usage que je suis en utilisant json. Je l'utilise pas comme un moyen pour être en mesure de exactement restaurer les objets que j'encode (restauration de l'objet n'est même pas important dans le contexte de ma demande), mais comme un moyen facile de les enregistrer dans une lisible par l'homme. C'est pourquoi le nombre de décimales et de l'ordre de la matière. Mais je suppose que ce sera plus simple si je imprimer le fichier moi-même, au lieu d'utiliser json 🙂
remarque: les deux "%.2f" % v et round(v, 2) produire 8.27 pour v = 8.27495, pas 8.28.

OriginalL'auteur Alberto A | 2012-07-26