Quelle est la différence entre json.dumps
et json.load
?
De ma compréhension, on charge JSON dans un dictionnaire et un autre dans des objets.
dumps
prend un objet et produit une chaîne:
>>> a = {'foo': 3}
>>> json.dumps(a)
'{"foo": 3}'
load
prendrait un objet de type fichier, lirait les données de cet objet et utiliserait cette chaîne pour créer un objet:
with open('file.json') as fh:
a = json.load(fh)
Notez que dump
et load
convertissent entre fichiers et objets, tandis que dumps
et loads
convertissent chaînes et des objets. Vous pouvez penser aux fonctions s
- moins comme des enveloppes autour des fonctions s
:
def dump(obj, fh):
fh.write(dumps(obj))
def load(fh):
return loads(fh.read())
json charges -> renvoie un objet à partir d'une chaîne représentant un objet json.
json dumps -> renvoie une chaîne représentant un objet json à partir d'un objet.
load and dump -> lecture/écriture depuis/vers le fichier au lieu de chaîne