Ce que fait l’outil
Collez un exemple de JSON, par exemple une réponse d’API de votre backend ASP.NET Core ou le contenu d’un webhook, et obtenez des déclarations TypeScript à intégrer directement dans un projet frontend. La sortie se met à jour pendant la saisie, et un second onglet présente le même modèle sous forme de schéma Zod pour la validation à l’exécution.
Comment les types sont déduits
- Chaque élément du tableau est examiné, pas seulement le premier. Une clé absente de certains éléments devient optionnelle (
name?: string). Une clé parfoisnulldevientstring | null. - Les tableaux mixtes deviennent des unions, par exemple
(string | number)[]. Un tableau vide devientunknown[]. - Les structures identiques sont déclarées une seule fois.
shippingAddressetbillingAddress, qui ont les mêmes propriétés, partagent une seule interfaceAddress. - Les objets indexés par des ID (
{"101": {...}, "102": {...}}) deviennentRecord<string, T>. - Une sortie toujours valide : les noms de propriété qui ne sont pas des identifiants (
"first-name","2fa") sont placés entre guillemets. Les noms de type sont en PascalCase et au singulier pour les éléments de tableau. Les noms qui masqueraient des types intégrés commeDateouErrorreçoivent un suffixe. - Les dates ISO restent des
stringpar défaut, avec un commentaire indiquant s’il s’agit d’une date ou d’une date-heure. Vous pouvez aussi les typer enDatesi vous les reconvertissez après l’analyse. Le schéma Zod les vérifie avec.datetime()ou.date()(Zod 3.23 ou ultérieur).
Options
Choisissez interface ou type, activez ou non export et readonly, choisissez T[] ou Array<T> et définissez le nom du type racine. Un tableau à la racine produit un type d’élément et un alias ...List.
Utilisation
Collez du JSON ou déposez un fichier .json, puis copiez ou téléchargez la sortie TypeScript ou Zod.
Confidentialité
La conversion s’exécute entièrement dans votre navigateur. Votre JSON n’est jamais envoyé ; la dernière saisie est conservée dans le stockage local.