JSON vers TypeScript

Convertissez un objet JSON en interfaces TypeScript. Gère les objets imbriqués, les tableaux, les propriétés optionnelles et les types d'union.

Comment utiliser JSON vers TypeScript

  1. 1Collez votre objet JSON ou réponse API.
  2. 2Entrez un nom pour l'interface racine.
  3. 3Cliquez sur Convert pour générer les interfaces TypeScript.
  4. 4Copiez le code TypeScript généré.
ZenovayAnalytics

Analytics pensé pour les fondateurs.

  • Suivi des visiteurs en temps réel
  • Vie privée d'abord, sans bandeau cookies
  • Installé en deux minutes
Découvrir Zenovay

Questions fréquemment posées

Quelles fonctionnalités TypeScript cela génère-t-il ?
Le convertisseur génère des déclarations d'interface TypeScript pour les objets, avec les types corrects pour string, number, boolean, null, undefined et Date (chaînes de date ISO). Les objets imbriqués produisent des interfaces séparées. Les tableaux produisent les types T[]. Les tableaux mixtes produisent les types union (string | number)[]. Les propriétés null dans l'exemple obtiennent T | null. Les propriétés optionnelles (?) ne sont pas déduites à partir d'un seul exemple — utilisez plusieurs exemples pour une meilleure inférence.
Comment les objets imbriqués sont-ils traités ?
Chaque objet imbriqué obtient sa propre interface nommée. Par exemple, {"user": {"name": "Alice"}} produit interface User { name: string; } et interface Root { user: User; }. Les interfaces sont nommées en convertissant PascalCase la clé de propriété. Les objets profondément imbriqués produisent une hiérarchie complète d'interfaces. Les tableaux d'objets produisent une interface pour le type d'élément, référencée comme ItemType[].
Quelle est la différence entre interface et type en TypeScript ?
interface et type sont largement interchangeables pour les formes d'objet. Les interfaces supportent la fusion de déclaration (plusieurs déclarations avec le même nom fusionnent) et peuvent être étendues avec extends. Les alias de type peuvent exprimer les types union, les tuples, et les types mappés que les interfaces ne peuvent pas. Pour les formes de réponse API, les deux fonctionnent. La convention est d'utiliser interface pour les formes d'objet (objets que vous instancierez ou étendrez) et type pour les alias, les unions, et les types calculés.
Comment dois-je gérer les réponses API qui varient entre les appels ?
Le convertisseur déduit les types à partir d'un exemple. Si un champ est parfois string et parfois number d'un appel à l'autre, vous devez ajouter le type union manuellement : field: string | number. Pour les champs nullables, ajoutez | null. Pour les champs manquants/optionnels, ajoutez le modificateur ? : field?: string. Exécutez le convertisseur sur plusieurs réponses API et fusionnez les interfaces manuellement pour les types de qualité production.
Comment utiliser ces interfaces dans mon projet TypeScript ?
Copiez les interfaces générées dans un fichier .ts ou .d.ts (par exemple, api-types.ts). Importez-les où nécessaire : import type { Root } from "./api-types";. Tapez votre réponse fetch : const data = await response.json() as Root; ou avec zod pour la validation runtime : const schema = z.object({...}); const data = schema.parse(await response.json()). Pour les grands projets, considérez les outils comme quicktype ou openapi-typescript pour la génération de type automatisée à partir de schémas.