JSON vers TypeScript

Collez du JSON, obtenez des interfaces TypeScript et le schéma Zod correspondant.

Fonctionne en local · aucun envoi
JSON

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é parfois null devient string | null.
  • Les tableaux mixtes deviennent des unions, par exemple (string | number)[]. Un tableau vide devient unknown[].
  • Les structures identiques sont déclarées une seule fois. shippingAddress et billingAddress, qui ont les mêmes propriétés, partagent une seule interface Address.
  • Les objets indexés par des ID ({"101": {...}, "102": {...}}) deviennent Record<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 comme Date ou Error reçoivent un suffixe.
  • Les dates ISO restent des string par défaut, avec un commentaire indiquant s’il s’agit d’une date ou d’une date-heure. Vous pouvez aussi les typer en Date si 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.