Sobes.tech
Junior

Quelles sont les différences entre les fonctions json.dumps et json.dump, ainsi que json.loads et json.load?

sobes.tech IA

Réponse de l'IA

json.dumps (le s à la fin signifie string) convertit un objet Python en une chaîne au format JSON.

json.dump convertit un objet Python en une chaîne au format JSON et l'écrit dans un objet semblable à un fichier (par exemple, un fichier) à l'emplacement spécifié.

import json

donnees = {'nom': 'Alice', 'age': 30}

# json.dumps
chaine_json = json.dumps(donnees, indent=4) # Convertit l'objet en chaîne
print(chaine_json)

# json.dump
with open('output.json', 'w') as f:
    json.dump(donnees, f, indent=4) # Écrit l'objet dans un fichier

json.loads (encore une fois, le s signifie string) convertit une chaîne au format JSON en un objet Python.

json.load lit des données d'un objet semblable à un fichier (par exemple, un fichier) au format JSON et les convertit en un objet Python.

import json

chaine_json = '{"name": "Bob", "age": 25}'

# json.loads
objet_python_depuis_chaine = json.loads(chaine_json) # Convertit la chaîne en objet
print(objet_python_depuis_chaine)

# json.load
with open('input.json', 'r') as f:
    objet_python_depuis_fichier = json.load(f) # Lit du fichier et convertit
print(objet_python_depuis_fichier)

Tableau récapitulatif des différences:

Fonction Données d'entrée Données de sortie Objectif principal
json.dumps Objet Python Chaîne (format JSON) Conversion d'un objet en chaîne pour transmission/stockage
json.dump Objet Python Écriture dans un objet fichier Conversion d'un objet et écriture dans un fichier
json.loads Chaîne au format JSON Objet Python Analyse de la chaîne et conversion en objet
json.load Objet fichier Objet Python Lecture depuis un fichier et conversion en objet