web-dev-qa-db-fra.com

JSON.stringify (Javascript) et json.dumps (Python) ne sont pas équivalents sur une liste?

En javascript:

var myarray = [2, 3];
var json_myarray = JSON.stringify(myarray) // '[2,3]'

Mais en Python:

mylist = [2, 3]
json_mylist = json.dumps(mylist) # '[2, 3]' <-- Note the space

Donc, les 2 fonctions ne sont pas équivalentes. C'est un peu inattendu pour moi et un peu problématique d'essayer de comparer certaines données, par exemple.

Une explication à ce sujet?

15
ThePhi

La différence est que json.dumps applique une jolie impression mineure par défaut mais JSON.stringify ne fait pas.

Pour supprimer tous les espaces, comme JSON.stringify, vous devez spécifier les séparateurs .

json_mylist = json.dumps(mylist, separators=(',', ':'))
24
Mike Cluck