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 économiser les octets à envoyer via HTTP?
tel que:
{'duration':'02:55','name':'flower','chg':0}
Changed in version 3.4: Use (',', ': ') as default if indent is not None.
docs.python.org/3/library/json.html#json.dumpRéponses:
la source
indent=0
génère des nouvelles lignes, alors queindent=None
(par défaut) ne le fait pas dans 2.7. Tout est clairement indiqué sur: docs.python.org/3/library/json.html#json.dumpujson
par défaut, les vidages sans espace, mais malheureusement, il ne prend pas en charge lesseparators
mots clés et ne peut donc pas ajouter d'espace si vous le souhaitez. C'est beaucoup plus rapide que celui intégréjson
!request.body
auxrequest.data
gens pour que les gens puissent trouver cela utilebytes(json.dumps(request.data, separators=(',', ':')), 'utf-8') == request.body
Dans certains cas, vous souhaiterez peut-être supprimer uniquement les espaces de fin . Vous pouvez ensuite utiliser
Il y a un espace après
:
mais pas après,
.Ceci est utile pour différencier vos fichiers JSON (dans le contrôle de version tel que
git diff
), où certains éditeurs se débarrasseront de l'espace blanc de fin mais python json.dump le rajoutera.Remarque: cela ne répond pas exactement à la question en haut, mais je suis venu ici à la recherche de cette réponse en particulier. Je ne pense pas qu'il mérite son propre contrôle qualité, alors je l'ajoute ici.
la source