Monu Tools

JSON vers TypeScript

Générez des interfaces TypeScript à partir d'un exemple JSON, avec des types imbriqués, des tableaux et des champs optionnels. S'exécute dans votre navigateur.

Comment utiliser l'outil JSON vers TS

  1. 01

    Collez un objet ou tableau JSON.

  2. 02

    Définissez éventuellement le nom de l'interface racine.

  3. 03

    Copiez les interfaces TypeScript générées.

Ce que fait le générateur

Il s'agit d'un générateur JSON vers TypeScript qui infère un ensemble d'interfaces à partir d'un objet ou d'un tableau JSON d'exemple, afin que vous puissiez coller une réponse d'API et obtenir des types prêts à l'emploi au lieu de les écrire à la main.

C'est un grand gain de temps quand vous consommez une API ou un fichier de configuration : collez une réponse, nommez éventuellement l'interface racine, et copiez du TypeScript propre directement dans votre code.

La génération s'exécute entièrement dans votre navigateur, donc vos données ne quittent jamais votre appareil, ce qui importe quand l'échantillon contient de vraies valeurs.

Comment il gère les formes du monde réel

Il gère les formes du monde réel : les objets imbriqués deviennent leurs propres interfaces nommées référencées depuis le parent, les tableaux d'objets sont fusionnés en une seule interface, et des types union sont produits là où les valeurs varient.

Champs optionnels dans les tableaux mixtes

Quand les objets d'un tableau n'ont pas tous les mêmes clés, les clés absentes de certains éléments sont marquées optionnelles avec un point d'interrogation, ce qui correspond au comportement réel des données et garde les types honnêtes.

Il infère, il n'impose pas un schéma

Un point important : il infère une forme à partir de l'unique échantillon que vous lui donnez, plutôt que d'imposer un schéma. Si un champ est parfois null ou absent dans les données réelles mais pas dans votre échantillon, le type généré ne le saura pas, donc utilisez un exemple représentatif.

Questions fréquentes

Comment les objets imbriqués sont-ils gérés ?

Chaque objet imbriqué devient sa propre interface nommée, référencée depuis son parent, le résultat est donc propre et réutilisable.

Qu'en est-il des tableaux aux structures différentes ?

Les tableaux d'objets sont fusionnés en une seule interface, et les clés absentes de certains éléments sont marquées comme optionnelles. Les tableaux de primitives mélangées deviennent un type d'élément union.

Mon JSON est-il envoyé quelque part ?

Non. Les types sont générés entièrement dans votre navigateur, vos données ne quittent donc jamais votre appareil.

Impose-t-il un schéma ou en déduit-il un ?

Il déduit la structure à partir de l'échantillon que vous collez, il ne valide pas par rapport à un schéma. Utilisez un exemple représentatif afin que les champs optionnels ou nullables soient capturés.

Quels types produit-il ?

Les primitives string, number, boolean et null, des interfaces imbriquées pour les objets, des tableaux typés, des propriétés optionnelles pour les clés qui ne sont pas toujours présentes, et des unions pour les valeurs mélangées.

Sources

Intégrer cet outil

Ajoutez cet outil à votre propre site web. Copiez le code ci-dessous. Il reste à jour automatiquement.

<iframe src="https://monu.tools/embed/fr/json-to-typescript" width="100%" height="640" style="border:1px solid #e5e5e5;border-radius:12px;max-width:680px" loading="lazy" title="Monu Tools"></iframe>

Outils similaires