Convertir une dataclass Python en JSON

Article publié le 24/04/2025 par Jules SAGOT

Convertir une dataclass en JSON

Pour cela, il suffit de transformer la dataclass en dictionnaire avec asdict.

Ensuite, il faut convertir le dictionnaire en texte JSON avec dumps de la librairie json.

import json
from dataclasses import asdict, dataclass

@dataclass
class User:
    name: str
    age: int

thomas = User(
    name="Thomas",
    age=40,
)

print(json.dumps(asdict(thomas)))

⬇️

{"name": "Thomas", "age": 40}

Convertir une dataclass complexe en JSON

Pour les cas plus compliqués, comme la dataclass imbriquée, vous pouvez consulter mon guide de conversion d’une dataclass complexe en dictionnaire.

Il vous suffira ensuite de convertir le dictionnaire obtenu en JSON avec json.dumps