JSON
Le module json convertit dictionnaires et listes Python en texte JSON, et inversement. C'est le format d'échange des API web, des fichiers de configuration et des exports de nombreux outils.
- json
- API
- sérialisation
- loads
- dumps
- ensure_ascii
Syntaxe
import jsonjson.loads(texte) # texte JSON → objet Pythonjson.dumps(objet) # objet Python → texte JSONjson.load(f) json.dump(objet, f) # depuis / vers un fichier ouvertExemple
import jsonreponse = '{"eleve": "Léa", "notes": [12, 15.5], "admis": true, "remarque": null}'data = json.loads(reponse)print(data["notes"][1], data["admis"], data["remarque"]) # → 15.5 True Nonedata["moyenne"] = sum(data["notes"]) / len(data["notes"])print(json.dumps(data, ensure_ascii=False))# → {"eleve": "Léa", "notes": [12, 15.5], "admis": true, "remarque": null, "moyenne": 13.75}À retenir
- Correspondances : objet ↔ dict, tableau ↔ list, true/false ↔ True/False, null ↔ None. Un tuple devient un tableau et ne revient pas en tuple.
- ensure_ascii=False garde les accents tels quels (Léa au lieu de L\u00e9a) et indent=2 rend le texte lisible par un humain.
- Pour un fichier : with open("data.json", encoding="utf-8") as f: data = json.load(f).
- Piège : JSON n'a ni date ni Decimal, et json.dumps lève TypeError sur une date. Convertissez-la avant (d.isoformat()) ou passez default=str.
- Piège : les clés d'un objet JSON sont toujours des chaînes. Le dictionnaire {1: "a"} relu après dumps puis loads devient {"1": "a"}.
Voir aussi
- DictionnairesUn dictionnaire associe des clés uniques à des valeurs, comme une fiche ou une ligne de table. On s'en sert pour retrouver une information par son identifiant, compter ou regrouper.
- Fichiers, pathlib & csvopen avec with lit et écrit des fichiers en les refermant proprement, pathlib.Path manipule les chemins et csv découpe les lignes. Indiquez toujours encoding="utf-8" pour garder les accents.
- Dates (datetime)Le module datetime représente dates, heures et durées : calculer un délai, décaler une échéance, formater une date. Convertissez toute date écrite en texte en objet avant de calculer ou de trier.