Qu'est-ce que JSON vers TypeScript ?
JSON vers TypeScript convertit des données JSON en interfaces et définitions de types TypeScript. Il détecte les chaînes, nombres, booléens, tableaux et objets imbriqués, et marque les champs nullable comme optionnels avec des types union. Épargnez-vous la saisie manuelle des types pour les réponses d'API.
Si un tableau contient des objets aux formes légèrement différentes, le générateur les fusionne : les clés absentes de certains enregistrements deviennent optionnelles avec '?'. Chaque objet imbriqué reçoit sa propre interface nommée (User, UserAddress, UserAddressGeo). Les tableaux mixtes produisent des types union comme (string | number)[]. Les chaînes au format ISO 8601 reçoivent une annotation JSDoc, et les champs texte avec un petit ensemble répété de valeurs sont inférés en union de littéraux plutôt qu'en string générique. Au-delà de la sortie TypeScript, la même saisie génère trois onglets de plus : un schéma Zod correspondant, des données fictives remplies de valeurs d'exemple réalistes, et un Schéma JSON draft-07. Basculez entre interface et alias de type, activez le mot-clé export, triez les clés de A→Z et activez camelCase pour convertir les clés snake_case ou kebab-case en noms TypeScript idiomatiques.
Comment utiliser
- Étape 1 — Collez un objet ou un tableau JSON, déposez un fichier .json sur la zone d'entrée, ou récupérez du JSON en direct depuis une URL. L'outil analyse la structure et infère les types TypeScript pour chaque champ.
- Étape 2 — Personnalisez la sortie : définissez le nom de l'interface racine, choisissez entre interfaces et alias de type, et activez les propriétés optionnelles pour les champs pouvant être nuls.
- Étape 3 — Copiez la sortie ou téléchargez-la. Quatre onglets partagent les mêmes réglages : les types TypeScript, un schéma Zod correspondant pour la validation à l'exécution, des données fictives prêtes pour les tests et Storybook, et un Schéma JSON draft-07 pour OpenAPI ou les librairies de formulaires. Tous les objets imbriqués reçoivent automatiquement leurs propres interfaces nommées.
Quand l'utiliser
- Typer une réponse d'API quand on n'a pas de spécification OpenAPI/Swagger.
- Générer des types rapides pour un fichier JSON de configuration (tsconfig.json, package.json) lu depuis un script.
- Mettre en place en quelques secondes une couche typée autour de la réponse d'un SDK tiers.
Résultat
Votre API renvoie un objet utilisateur avec une adresse et des préférences imbriquées. Collez la réponse JSON, définissez le nom racine sur 'User', et obtenez des interfaces propres : User, UserAddress, UserPreferences — avec des types corrects comme 'string | null' pour les champs optionnels.
FAQ
- Comment le générateur décide-t-il quels champs sont optionnels ?
- Si l'entrée est un seul objet, avec « Marquer nullable comme optionnel » activé, les champs à valeur null deviennent optionnels. Pour un tableau d'objets, le générateur fait l'union des clés de tous les enregistrements ; toute clé absente d'au moins un enregistrement devient optionnelle.
- Et pour les tableaux où les éléments ont des formes différentes ?
- Même logique : les clés présentes partout restent obligatoires, celles présentes seulement parfois deviennent optionnelles, et les valeurs aux types primitifs mélangés deviennent des unions comme string | number. Le résultat est une interface qui décrit tout le tableau.
- Faut-il choisir interface ou type alias ?
- Les interfaces s'étendent facilement par fusion de déclarations, c'est le choix habituel pour les formats d'API. Les alias de type sont plus pratiques pour combiner ensuite avec unions, intersections ou types mappés. À l'exécution, cela revient au même : suivez la convention du projet.
- Pourquoi certaines clés de propriété sont-elles entre guillemets dans la sortie ?
- Si une clé contient des caractères qui n'en font pas un identifiant TypeScript valide (traits d'union, espaces, chiffre initial, points), le générateur la met entre guillemets. Le type reste valide et l'accès dans le code se fait via obj["weird-key"].
- Les types générés détectent-ils les changements d'API ?
- Oui, à condition de les régénérer. Les types décrivent un instantané du JSON collé, ils ne se mettent pas à jour seuls. Un flux courant consiste à régénérer lors d'un changement de version d'API et à examiner le diff en revue de code.
Outils similaires
Chercheur de rimes
Trouvez des rimes parfaites et approchantes pour n'importe quel mot
Solveur d'Anagrammes
Trouvez tous les anagrammes valides d'un mot
Recherche Unicode
Recherchez des caractères Unicode par nom ou code
Encodeur/Décodeur d'URL
Encodez et décodez des URL instantanément
Alphabet phonétique OTAN
Convertissez du texte en alphabet phonétique OTAN
Compteur de paragraphes
Comptez les paragraphes de votre texte