Entrée JSON

Sortie Python

Qu'est-ce que JSON vers Python ?

Vous avez appelé une API, obtenu une réponse JSON, et maintenant vous accédez à tout avec response["data"]["user"]["email"] — pas d'autocomplétion, pas de vérification des types, et une faute de frappe mène directement à un KeyError. json.loads() vous donne un dict, ce qui convient pour les scripts rapides. Mais pour du vrai code applicatif, les dataclasses typées ou les modèles Pydantic sont bien meilleurs. Cet outil génère des classes Python directement depuis votre JSON — collez-le, obtenez du Python structuré et collez-le dans votre projet.

Cet outil génère des définitions de classes Python à partir de votre JSON. Activez Dataclass, Typing et Nullable dans le panneau de configuration. Les dataclasses (Python 3.7+) fournissent __init__, __repr__ et l'égalité gratuitement. Utilisez la sortie avec json.loads() et un mappage manuel, ou adaptez-la pour la validation Pydantic.

La conversion s'exécute entièrement dans votre navigateur. Votre JSON n'est jamais envoyé à un serveur. Vous pouvez le confirmer en ouvrant l'onglet Réseau de votre navigateur.

Comment utiliser cet outil

1

Coller ou importer le JSON

Copiez votre JSON et collez-le dans l'éditeur de gauche. Vous pouvez aussi cliquer sur Importer pour charger un fichier .json ou .txt. Utilisez le bouton Exemple pour des données d'exemple. Dans le panneau de configuration, définissez le nom de la classe (ex. User) et les options : Dataclass pour @dataclass, Typing pour les annotations List[Type], Nullable pour Optional[T].

2

Vérifier les classes générées

Le panneau de droite affiche le code Python généré. Les objets imbriqués deviennent des classes imbriquées. Les tableaux obtiennent List[Type] du module typing. Les dataclasses utilisent @dataclass ; sinon vous obtenez des classes régulières avec __init__. Si votre JSON a une syntaxe invalide, corrigez-la d'abord avec le Formatage JSON ou le Validateur JSON.

3

Copier ou télécharger

Utilisez Copier pour mettre le résultat dans le presse-papiers, ou Télécharger pour le sauvegarder en fichier .py. Collez-le dans votre projet. Pour le typage dynamique, json.loads() suffit. Pour la validation et le parsing, envisagez Pydantic.

Exemples JSON vers Python

Voici un exemple de génération de dataclasses Python à partir d'un objet JSON.

Exemple : enregistrement abonné

Entrée JSON :

Entrée

Sortie Python générée :

Sortie

Quand JSON vers Python aide

La plupart des développeurs en ont besoin lors de l'intégration avec des API REST. Vous envoyez une requête via Postman, requests ou httpx, et la réponse arrive en JSON. La coller ici vous donne des classes typées pour un accès structuré. Pour extraire des valeurs spécifiques de réponses volumineuses, jq fonctionne bien en ligne de commande.

Les fichiers de configuration, payloads webhook ou flux d'événements sont souvent en JSON. Les traiter ici aide à comprendre la structure et à générer des classes Python pour les type hints, la validation ou les pipelines de traitement de données.

Si vous construisez une app FastAPI ou Flask qui consomme des API externes, avoir des modèles typés améliore la qualité du code et détecte les erreurs tôt. Les classes générées peuvent être adaptées pour Pydantic avec des modifications minimales.

Questions fréquentes

Comment convertir automatiquement du JSON en dataclass Python ?

Collez votre JSON dans cet outil, activez l'option Dataclass, et il génère une classe @dataclass pour chaque objet imbriqué. Copiez-la dans votre projet — fonctionne avec Python 3.7+.

Quelle est la différence entre une dataclass et une classe régulière pour JSON ?

Les dataclasses (Python 3.7+) génèrent automatiquement __init__, __repr__ et __eq__. Les classes régulières nécessitent un __init__ manuel. Pour la plupart du travail API, les dataclasses sont plus propres. Pour la validation, envisagez Pydantic.

Mes données sont-elles envoyées quelque part ?

Non. Tout s'exécute dans votre navigateur. Votre JSON ne quitte jamais votre machine — sûr pour les réponses API de production ou les données sensibles.

Puis-je l'utiliser avec Pydantic ?

La sortie est du Python standard. Pour Pydantic, changez la classe de base en BaseModel et supprimez @dataclass. Pydantic a aussi une méthode model_validate() qui gère automatiquement le parsing depuis un dict.

Et snake_case vs camelCase ?

JSON utilise typiquement camelCase ; la convention Python est snake_case. Le générateur utilise les clés JSON telles quelles. Pour Pydantic, utilisez model_config = ConfigDict(populate_by_name=True) et Field(alias="camelCaseKey") pour le mappage.

Outils connexes

Pour la gestion JSON en Python, voir le module json de Python et Pydantic. Pour JSON, voir spécification JSON, RFC 8259 et MDN. Voir aussi jq et Postman.