Comment générer des types TypeScript ou Python à partir d’un JSON ?
Fournissez un JSON valide, choisissez TypeScript ou Python, puis lancez la génération. TypeScript est sélectionné par défaut.
À quoi sert la génération depuis un JSON
Cet outil sert à obtenir une représentation typée à partir d’un texte JSON que vous fournissez. Il prend en charge les interfaces TypeScript et les dataclasses Python, tandis que TypeScript est proposé par défaut. Cette approche est utile lorsque vous disposez déjà d’un exemple de données et que vous voulez en décrire la structure sans rédiger chaque déclaration à la main.
Le point de départ doit rester un document JSON interprétable. Le résultat correspond à la forme observée dans les valeurs transmises, et non à une spécification générale de toutes les réponses possibles d’un service. Avant de l’utiliser dans un projet, examinez donc la sortie obtenue avec les données qui représentent réellement votre cas.
Les étapes pour obtenir la structure typée
-
Préparez un document JSON valide qui représente la structure à décrire. Il doit contenir du texte JSON et ne peut pas être vide ou composé uniquement d’espaces. Vérifiez notamment l’équilibre des accolades, des crochets et des guillemets, ainsi que la présence de séparateurs correctement placés.
-
Collez ce texte dans la zone de saisie. Une saisie vide, faite d’espaces ou mal formée échoue au lieu de produire une sortie. Si vous partez d’un exemple copié depuis une réponse d’API, contrôlez qu’il s’agit bien du document JSON lui-même et non d’un texte d’accompagnement.
-
Choisissez le langage de sortie parmi TypeScript et Python. Si vous laissez le réglage initial inchangé, la génération utilise TypeScript. Sélectionnez Python lorsque vous souhaitez obtenir des dataclasses Python plutôt que des interfaces TypeScript.
-
Conservez le nom racine
Rootsi ce nom vous convient, ou renseignez un nom personnalisé qui décrit la structure principale, par exempleProfilUtilisateur. Ce choix donne un intitulé à la structure de premier niveau générée et peut rendre le résultat plus lisible dans votre projet. -
Lancez la génération, puis parcourez la sortie dans le langage choisi. Comparez les champs affichés avec les propriétés de votre JSON, regardez les valeurs qui ont servi à déduire les types et vérifiez le nom racine avant toute réutilisation.
-
Lorsque l’objet contient plusieurs niveaux, suivez les références entre la structure principale et les types associés aux objets imbriqués. Cette lecture permet de repérer rapidement si la hiérarchie produite correspond à celle du document fourni.
Comprendre la sortie et ses limites
Pour un objet JSON, le choix TypeScript conduit à des déclarations d’interfaces dont les champs sont déduits des valeurs présentes. Le choix Python produit des dataclasses, avec des champs déduits à partir du même contenu. La forme obtenue dépend donc de l’exemple transmis et du langage sélectionné.
Les valeurs textuelles sont représentées par string en TypeScript et str en Python. Une valeur booléenne devient boolean en TypeScript ou bool en Python, tandis qu’une valeur numérique devient number en TypeScript ou float en Python. Ces correspondances décrivent les valeurs reconnues dans l’entrée ; elles ne constituent pas une validation de règles métier.
Un objet placé à l’intérieur d’un autre reçoit un type généré qui lui est associé, et le champ parent fait référence à ce type. Examinez cette organisation lorsque votre JSON comporte une adresse, un profil ou une autre sous-structure, car la lisibilité du résultat dépend alors de plusieurs niveaux.
Si votre application peut renvoyer des formes différentes selon les situations, confrontez plusieurs exemples au résultat obtenu avant de l’adopter. Une seule entrée décrit la structure qu’elle contient ; elle ne permet pas à elle seule de confirmer des propriétés absentes de cet exemple. La sortie doit donc être relue dans le contexte de vos données et de vos conventions de projet.
Exemple pratique
Vous devez décrire le profil d’une personne à partir de l’objet JSON {"name":"Lina","active":true,"address":{"city":"Lyon"}}.
Collez le JSON indiqué, laissez TypeScript sélectionné, remplacez Root par ProfilUtilisateur, puis lancez la génération.
La sortie contient une interface TypeScript pour le profil, un champ texte, un champ booléen et un type associé à l’objet d’adresse.
Limites
- La sortie se limite aux interfaces TypeScript et aux dataclasses Python, et les types reflètent les valeurs présentes dans l’exemple fourni. Une autre valeur de langage est refusée.
Erreurs fréquentes
- Une ponctuation JSON mal placée, comme une virgule ou une accolade manquante, rend l’entrée mal formée. Corrigez la structure du texte, puis relancez la génération avec le document JSON rectifié.
Questions fréquentes
Que se passe-t-il si le JSON est vide ou incorrect ?
Une saisie vide ou composée uniquement d’espaces échoue, tout comme un JSON mal formé. Dans ces cas, remplacez le contenu par un document JSON valide avant de recommencer.
Quel langage est utilisé par défaut ?
Sans changement du réglage initial, la sortie est générée en TypeScript. Le choix Python produit des dataclasses Python à partir de l’entrée fournie.
Puis-je modifier le nom de la structure principale ?
Vous pouvez garder Root comme nom de premier niveau ou fournir un nom personnalisé adapté à votre structure. Le nom choisi sert ensuite à désigner cette structure dans le résultat.