JSON en TypeScript

Générer automatiquement des interfaces TypeScript depuis n'importe quel JSON

Qu'est-ce que c'est et comment ça marche ?

Un convertisseur JSON vers TypeScript lit un objet JSON et génère les interfaces ou alias de type TypeScript qui décrivent sa forme. Au lieu d'écrire à la main un type pour chaque réponse d'API — nommer chaque champ, deviner si une valeur est string ou number, et imbriquer des interfaces pour les objets imbriqués — vous collez un exemple réel et obtenez des types précis instantanément. Il infère le type de chaque propriété d'après la valeur, crée des interfaces nommées pour les objets imbriqués, et type les tableaux par leurs éléments, votre éditeur connaît donc aussitôt la structure.

C'est l'un des raccourcis les plus précieux du travail TypeScript, car il supprime l'étape fastidieuse et source d'erreurs consistant à reproduire une API à la main et garde vos types fidèles aux vraies données. Le résultat vous donne autocomplétion et vérification à la compilation dès l'import, attrapant fautes de frappe et écarts de forme avant qu'ils n'atteignent l'exécution. Cet outil génère les types entièrement dans votre navigateur, donc même des réponses d'API privées ne quittent jamais votre machine.

Cas d'usage

Questions fréquentes

Dois-je utiliser des interfaces ou des alias de type ?

Pour des formes d'objet, les deux marchent ; les interfaces sont conventionnelles pour les modèles de données et supportent la fusion de déclarations et l'extension, tandis que les alias de type conviennent aux unions et compositions plus complexes. Les interfaces générées sont un bon défaut que vous pouvez renommer ou refactoriser librement.

Comment les objets imbriqués sont-ils gérés ?

Chaque objet imbriqué devient sa propre interface nommée, référencée depuis le parent. Cela garde la sortie lisible et réutilisable plutôt que de produire un type profondément en ligne, reflétant la façon dont vous structureriez les types à la main.

Quelle est la précision des types inférés ?

Les types sont inférés de l'exemple fourni, ils sont donc exacts pour cet échantillon mais aussi complets que les données montrées. Si un champ peut être null, optionnel ou varier de type selon les réponses, revoyez et élargissez le type généré pour couvrir chaque cas que l'API peut renvoyer.

Que se passe-t-il avec des tableaux vides ou des valeurs null ?

Un tableau vide ne donne aucun élément d'où inférer, et une valeur null ne porte aucun type concret, donc ils se résolvent souvent en un type large comme any[] ou null. Fournissez un exemple plus complet, ou affinez ces champs manuellement, pour capturer le type voulu.

JSON

Formateur JSON · Minificateur JSON · Validateur JSON · JSON vers CSV · JSON ↔ YAML · Aplatir JSON