← retour aux snippets

json: lire et sérialiser joliment (stable)

Charger, manipuler et produire du JSON lisible et stable pour les diffs.

python json #json#serialization

objectif

Charger, manipuler et produire du JSON lisible et stable pour les diffs.

code minimal

import json

data = {"name": "Ada", "age": 36, "skills": ["math", "logic"]}
s = json.dumps(data, ensure_ascii=False, sort_keys=True, indent=2)
obj = json.loads(s)
print(obj["name"])  # attendu: Ada

utilisation

import json
s = '{"a":1,"b":[3,2]}'
d = json.loads(s)
print(d["b"][0] == 3)

variante(s) utile(s)

import json
def dumps_minified(d: dict) -> str:
    return json.dumps(d, separators=(",", ":"), ensure_ascii=False)
print(" " not in dumps_minified({"x": 1}))

notes

  • sort_keys produit un ordre stable, utile pour les diffs.
  • ensure_ascii=False garde les caractères accentués lisibles.