JSON vers TypeScript

Interfaces, types et schémas Zod

Aucune base de données : AIMRAN ne conserve ni vos fichiers, ni vos textes, ni vos résultats

Qu’est-ce que JSON vers TypeScript ?

Si vous travaillez avec TypeScript et recevez des données JSON d’une API, écrire les types à la main prend du temps. Cet outil lit un exemple de JSON et génère automatiquement les interfaces ou types qui le décrivent.

Il peut aussi générer un schéma Zod pour valider ces données à l’exécution, avec le type dérivé prêt à l’emploi.

Mode d’emploi

  1. Collez votre JSON ou chargez l’exemple.
  2. Choisissez la sortie : TypeScript ou Schéma Zod.
  3. Indiquez s’il faut déclarer une interface ou un type.
  4. Saisissez le nom du type racine et activez « Ajouter export » si besoin.
  5. Copiez ou téléchargez le code généré.

Avantages

Détails techniques

L’outil déduit un type structurel à partir de la valeur JSON : string, number, boolean, null, objets et tableaux. Dans les tableaux, les types de tous les éléments sont unifiés ; s’il s’agit d’objets, leurs champs sont fusionnés et les clés absentes d’un élément sont marquées optionnelles (?), et si les types diffèrent, une union est générée. Chaque objet imbriqué produit une déclaration dont le nom dérive de sa clé. Les tableaux vides sont typés unknown[]. En mode Zod, z.object, z.array, z.union et .optional() sont générés, et type Nom = z.infer<typeof NomSchema> est ajouté. Les clés qui ne sont pas des identifiants valides sont écrites entre guillemets.

Questions fréquentes

Comment convertir du JSON en interface TypeScript ?

Collez le JSON, choisissez TypeScript et « interface », puis copiez le résultat. Chaque objet imbriqué aura sa propre interface.

Quelle différence entre interface et type ?

Pour décrire des objets, ils sont presque équivalents. Les interfaces peuvent être étendues et fusionnées ; les types permettent les unions et des types plus complexes.

Qu’est-ce que Zod ?

Une bibliothèque TypeScript pour valider des données à l’exécution. Le schéma vérifie que les données ont la forme attendue, et le type en est déduit.

Comment les champs optionnels sont-ils détectés ?

Dans un tableau d’objets, si une clé manque dans l’un des éléments, elle est marquée comme optionnelle.

L’outil détecte-t-il les dates dans le JSON ?

Non. Le JSON n’a pas de type date, les dates sont donc générées en string.

Plus d’outils : Développeurs