Entrée JSON

Sortie Python

Qu'est-ce que JSON vers Python ?

Python utilise dict et des classes personnalisées pour les données structurées. Lorsque vous parsez du JSON avec json.loads(), vous obtenez des dicts. Cela fonctionne pour l'accès dynamique, mais pour l'accès typé, le support IDE et la validation, vous voulez souvent des dataclasses ou des classes régulières. La spécification JSON définit les objets, tableaux, chaînes, nombres et booléens—mais Python nécessite des définitions de classes explicites pour chaque structure imbriquée.

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 <code>List[Type]</code> du module typing. Les dataclasses utilisent <code>&#64;dataclass</code> ; sinon vous obtenez des classes régulières avec <code>__init__</code>. 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

Dataclass ou classe régulière ?

Les dataclasses (Python 3.7+) fournissent __init__, __repr__, __eq__ et plus gratuitement. Les classes régulières nécessitent un __init__ manuel. Les deux fonctionnent avec le parsing JSON. Les dataclasses sont préférées pour Python moderne.

Qu'en est-il des types Optional ?

Activez Nullable Types pour obtenir Optional[T] ou T | None pour les champs qui peuvent être manquants ou null. La syntaxe union T | None nécessite Python 3.10+.

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

Non. La génération s'exécute entièrement dans votre navigateur en JavaScript. Aucune donnée n'est envoyée à un serveur. Vous pouvez le confirmer en ouvrant l'onglet Réseau de votre navigateur.

Puis-je utiliser cela avec Pydantic ?

La sortie est du Python standard. Vous pouvez l'adapter pour Pydantic en changeant la classe de base en BaseModel et en ajoutant des validateurs. Pydantic a aussi sa propre génération de schéma à partir de JSON.

snake_case vs camelCase ?

Le JSON utilise souvent camelCase ; Python préfère snake_case. Le générateur utilise les clés JSON telles quelles. Utilisez Field(alias="camelCase") dans Pydantic ou un décodeur personnalisé 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.