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 |