Aller au contenu
ToolMug

Convertir JSON en TypeScript

Transformez un exemple JSON — réponse d’API, fichier de configuration, fixture de test — en interfaces TypeScript à coller dans votre code. Les objets imbriqués reçoivent leurs propres types nommés, et les différences entre les éléments d’un tableau deviennent des propriétés optionnelles ou des types union.

Fonctionne dans votre navigateur — rien de ce que vous saisissez n’est envoyé

Mode d’emploi

  1. Collez un exemple JSON, ou cliquez sur « Charger un exemple ».
  2. Indiquez le nom du type racine.
  3. Choisissez entre interfaces et alias de type.
  4. Copiez ou téléchargez les types générés.

Explication des options

Nom du type racine
Nom du type de premier niveau, par exemple User ou ApiResponse. Les types imbriqués sont nommés d’après leurs clés : address devient Address, et les éléments de posts deviennent Post.
Utiliser type au lieu d’interface
Génère des alias de type (type User = { … }) au lieu d’interfaces. Les deux fonctionnent de la même façon pour des données simples.

Exemple

{"id": 1, "tags": ["a"], "owner": {"name": "Ada"}} devient :

export interface Owner {
  name: string;
}

export interface Root {
  id: number;
  tags: string[];
  owner: Owner;
}

Questions fréquentes

Comment les tableaux d’objets sont-ils traités ?

Tous les éléments sont fusionnés en un seul type. Une clé présente dans une partie seulement des éléments devient optionnelle (key?), et une valeur parfois null devient une union comme string | null.

Pourquoi un champ est-il typé unknown ?

L’exemple ne contenait que null pour ce champ : son vrai type ne peut donc pas être déduit. Remplacez unknown par le bon type, ou collez un exemple où le champ a une valeur.

Les entiers et les décimaux sont-ils des types différents ?

Pas en TypeScript : les deux deviennent number. Les sorties Go, Rust et Python, elles, les distinguent.

Mon JSON est-il envoyé sur un serveur ?

Non. Les types sont générés dans votre navigateur : les réponses d’API contenant des données réelles restent sur votre appareil.

Confidentialité

Cet outil fonctionne entièrement dans votre navigateur. Vos fichiers et vos textes sont traités sur votre appareil et ne sont jamais envoyés à nos serveurs.

Outils similaires