208 votes

Python - json sans espaces blancs

Je viens de réaliser que json.dumps() ajoute des espaces dans l'objet JSON

par exemple

{'duration': '02:55', 'name': 'flower', 'chg': 0}

comment supprimer les espaces afin de rendre le JSON plus compact et d'économiser des octets à envoyer via HTTP ?

comme :

{'duration':'02:55','name':'flower','chg':0}

343voto

user1276363 Points 386
json.dumps(separators=(',', ':'))

64voto

Hugues Fontenelle Points 3358

Dans certains cas, vous pouvez vouloir vous débarrasser de la espaces blancs de fin de ligne seulement. Vous pouvez alors utiliser

json.dumps(separators=(',', ': '))

Il y a un espace après : mais pas après , .

Ceci est utile pour différencier vos fichiers JSON (dans un contrôle de version tel que git diff ), où certains éditeurs se débarrassent de l'espace blanc de fin de ligne mais python json.dump le rajoute.

Note : Ceci ne répond pas exactement à la question du haut, mais je suis venu ici pour chercher cette réponse spécifiquement. Je ne pense pas qu'elle mérite sa propre AQ, alors je l'ajoute ici.

11voto

Ekremus Points 21

Codage compact :

import json

list_1 = [1, 2, 3, {'4': 5, '6': 7}]

json.dumps(list_1, separators=(',', ':'))

print(list_1)

[1,2,3,{"4":5,"6":7}]

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X