Existe-t-il un moyen d'avoir la sortie json.dumps(<val>)
de python sous forme minifiée? (c.-à-d. se débarrasser des espaces étrangers autour des virgules, des deux-points, etc.)
Vous devez définir le paramètre separators
:
>>> json.dumps([1, 2, 3, {'4': 5, '6': 7}], separators=(',', ':'))
'[1,2,3,{"4":5,"6":7}]'
De la documentation:
Si spécifié, les séparateurs doivent être un
(item_separator, key_separator)
Tuple. La valeur par défaut est(', ', ': ')
si le retrait estNone
et(',', ': ')
autrement. Pour obtenir la représentation JSON la plus compacte, vous devez spécifier(',', ':')
pour éliminer les espaces.
Il existe également une bibliothèque json qui fonctionne beaucoup plus rapidement et réduit le JSON par défaut.
Son équivalent dumps
n'a pas le paramètre separators
et il lui manque quelques fonctionnalités comme les encodeurs/décodeurs personnalisés, mais j'ai pensé qu'il valait la peine de le mentionner ici.
>>> ujson.dumps([1,2,3,{'4': 5, '6': 7}])
'[1,2,3,{"4":5,"6":7}]'