Générateur de modèles Pydantic depuis JSON
Générez des classes de modèle Pydantic v2 à partir d’un exemple JSON instantanément dans votre navigateur. Votre JSON reste sur votre appareil.
Votre JSON est analysé et converti en modèles Pydantic entièrement dans votre navigateur, il reste donc sur votre appareil et rien n’est téléversé vers un serveur.
Besoin de types Go, Rust ou TypeScript ? Essayez JSON vers Code.
À propos de JSON vers Pydantic
Ce générateur json vers pydantic transforme un objet ou tableau JSON d’exemple en classes de modèle Pydantic v2 prêtes à l’emploi en quelques secondes. Collez une vraie réponse d’API et il infère le type de chaque champ, str, int, float et bool, marque les champs nullables comme Optional, unifie les tableaux en types list[...] et promeut chaque objet imbriqué en son propre BaseModel référencé par son nom. Les clés qui ne sont pas des identifiants Python valides sont conservées via Field(alias=...) pour que le modèle analyse toujours votre charge utile d’origine. Il est conçu pour les développeurs Python et FastAPI qui préfèrent générer des modèles pydantic depuis json plutôt que de les écrire à la main en câblant un client typé. Tout s’exécute localement dans votre navigateur, le JSON que vous collez est traité sur votre appareil et rien n’est téléversé vers un serveur.
Fonctionnalités
- Génère des classes BaseModel Pydantic v2 depuis tout objet ou tableau JSON
- Infère str, int, float et bool depuis vos valeurs d’exemple
- Marque les champs nullables et parfois absents comme Optional[...]
- Promeut les objets imbriqués en leurs propres classes BaseModel nommées
- Unifie les tableaux en types list[...], les tableaux vides deviennent list[Any]
- Conserve les clés Python invalides via Field(alias=...) pour que l’analyse fonctionne toujours
- Émet des imports propres pour BaseModel, Field, Optional et Any
- Copiez le résultat ou téléchargez-le sous forme de fichier .py
Comment utiliser JSON vers Pydantic
- Collez votre objet ou tableau JSON dans la zone de saisie.
- Définissez le nom du modèle racine pour correspondre à votre schéma, ou laissez Model.
- Examinez les classes Pydantic générées dans le panneau de sortie.
- Copiez le résultat ou téléchargez-le sous forme de fichier .py.
Exemple
Entrée
{ "id": 1, "name": "Ada", "address": { "city": "London" } }
Sortie
from pydantic import BaseModel
class Address(BaseModel):
city: str
class Model(BaseModel):
id: int
name: str
address: Address
Un objet imbriqué devient son propre BaseModel, la classe racine en dernier.
Erreurs courantes et dépannage
- La sortie affiche une erreur Invalid avec une ligne et une colonne. — Le JSON a un problème de syntaxe tel qu’une virgule en trop, des apostrophes simples ou une clé sans guillemets. Corrigez-le à la ligne et la colonne signalées, puis les modèles se régénèrent.
- Un champ est ressorti en Optional[Any] au lieu d’un type concret. — Toutes les valeurs d’exemple de cette clé étaient null, donc aucun type concret n’a pu être inféré. Fournissez un exemple avec une vraie valeur pour ce champ.
- Un champ utilise Field(alias=...) avec un attribut renommé. — Cette clé n’est pas un identifiant Python valide ou est un mot réservé, elle est donc exposée sous un nom d’attribut sûr, la clé d’origine étant conservée comme alias.
- Un champ liste est ressorti en list[Any]. — Le tableau de votre exemple était vide, donc aucun type d’élément n’a pu être inféré. Incluez au moins un élément représentatif pour obtenir une liste typée.
Foire aux questions
- Génère-t-il des modèles Pydantic v2 ?
- Oui. La sortie vise la syntaxe Pydantic v2 : chaque modèle est une classe qui hérite de BaseModel, avec des champs annotés et Field(alias=...) là où une clé JSON n’est pas un identifiant Python valide.
- Comment les objets imbriqués sont-ils gérés ?
- Chaque objet imbriqué devient sa propre classe BaseModel, nommée en PascalCase à partir de la clé qui le contient, et le parent le référence par son type. Les classes sont émises dans l’ordre des dépendances, le modèle racine en dernier.
- Comment mappe-t-il les types JSON vers les types Python ?
- Les chaînes deviennent str, les nombres entiers int, les décimaux float, les booléens bool, null produit Optional, les tableaux deviennent list[...] avec un type d’élément unifié, et les objets deviennent des BaseModels imbriqués.
- Que se passe-t-il avec les clés qui ne sont pas des noms Python valides ?
- Une clé comme first-name ou 2fa, ou un mot réservé comme class, est exposée sous un attribut snake_case sûr et la clé d’origine est préservée avec Field(alias="...") pour que le modèle analyse toujours votre charge utile.
- Comment les tableaux et les tableaux vides sont-ils convertis ?
- Les tableaux deviennent list[...] avec le type unifié de leurs éléments, y compris un BaseModel imbriqué pour les tableaux d’objets. Un tableau vide n’a aucun type d’élément à inférer, il devient donc list[Any].
- Mon JSON est-il envoyé quelque part lorsque je génère des modèles Pydantic ?
- Non. La conversion JSON vers Pydantic s’exécute entièrement dans votre navigateur, les données que vous collez sont traitées localement et ne quittent jamais votre appareil.
Outils associés
- JSON vers TypeScript — Génère des interfaces TypeScript à partir d’un échantillon JSON.
- JSON vers code — Génère des types Go, Rust, Python, Java, Kotlin, C# et TypeScript à partir de JSON.
- JSON Schema — Générez un JSON Schema depuis un échantillon ou validez avec ajv.
- Formateur JSON — Embellit, minifie et valide le JSON avec la localisation des erreurs.
- JSON vers Zod — Générez un schéma Zod à partir d’un exemple JSON, avec les types inférés.
- Visionneuse JSON — Visionneuse texte et arbre repliable avec développer/réduire et chemins de nœuds.
Tous les outils ArrayKit