JSON vers TypeScript
JSON vers TypeScript
Convertit des exemples JSON en interfaces et alias de type TypeScript, fusionne automatiquement les champs des tableaux d'objets, déduit les champs optionnels et les unions avec null, et génère des déclarations de type adaptées pour les tableaux et objets vides. Idéal pour modéliser des réponses d'API, initialiser des types frontend et organiser des structures de données.
Démarrage rapide
Scénarios courants
Transformez de vraies réponses API en premiers modèles TypeScript pour des pages frontend, des clients SDK ou des tests d'intégration.
Inspectez des tableaux d'objets mixtes pour voir les champs optionnels et les types union avant de formaliser un contrat d'API.
Convertissez des données JSON fictives en définitions de type rapides pour des fixtures, des stories Storybook ou des prototypes.
Examinez des déclarations imbriquées comme User ou Meta lorsque la forme des payloads backend change.
Conseils d'utilisation
Limitations et compatibilité
Confidentialité & sécurité
FAQ
Les racines objet génèrent des déclarations interface. Les racines tableau et les valeurs primitives génèrent des alias type. Pour un tableau d'objets à la racine, la racine reste un alias type comme type Root = RootItem[];, et la structure de l'élément est déclarée séparément.
Sans éléments ni propriétés d'exemple, le générateur ne peut rien déduire de plus précis. Il conserve les tableaux vides en unknown[] et les objets vides comme interfaces étendant Record<string, unknown> jusqu'à ce que vous colliez des données plus représentatives.
Si le nom saisi est déjà un identifiant TypeScript valide, il est conservé tel quel, par exemple APIResponse. Les noms invalides sont normalisés en identifiant PascalCase stable avant la génération.
Le générateur actuel normalise les noms imbriqués à partir des chemins de propriété et résout les collisions de façon déterministe. C'est pourquoi la sortie récente utilise des noms comme User, Meta ou FooBarClass au lieu de toujours préfixer avec le nom racine.
Le contrat de sortie actuel renvoie volontairement des déclarations simples sans export. Cela garde la sortie neutre, et vous pouvez ajouter export selon le style de votre projet.