Le convertisseur JSON vers TypeScript lit un exemple de valeur JSON — une réponse API, un fichier de configuration, un enregistrement de base de données — et écrit les interfaces TypeScript qui le décrivent. Les objets imbriqués deviennent leurs propres interfaces nommées, les tableaux d'objets sont fusionnés dans une interface à un seul élément plutôt que dans une union tentaculaire, et les clés nulles ou manquantes dans certains enregistrements sont marquées facultatives. Vous collez des données que vous avez déjà, vous obtenez des types que vous auriez écrits à la main.
La saisie manuelle d'une réponse API est fastidieuse et sujette aux erreurs d'une manière spécifique : vous tapez ce que vous * pensez * que le point de terminaison renvoie, pas ce qu'il a réellement renvoyé. Les champs que vous n'avez jamais remarqués sont omis, un entier parfois nul est saisi en tant que "numéro" et l'erreur fait surface lors de l'exécution dans la production plutôt que dans votre éditeur. Générer des types directement à partir d'une charge utile réelle comble cet écart, car la forme sur laquelle vous compilez est la forme que le serveur a réellement envoyée.
Tout fonctionne dans votre navigateur. Le moteur d'inférence est composé d'un type sans dépendance, et non d'un wrapper autour d'un service à distance, donc les charges utiles - qui transportent régulièrement des jetons d'accès, des enregistrements des clients et des identifiants internes - ne quittent jamais la page. Choisissez des interfaces ou des alias, basculez le mot-clé "export" et les modificateurs "readonly", choisissez votre largeur de retrait, puis copiez la sortie ou téléchargez un fichier .ts.
Déposez une réponse d'API, un fichier de luminaires ou toute valeur JSON. Chargez l'exemple en premier si vous souhaitez voir comment les objets imbriqués, les tableaux et les champs NULL sont gérés.
Définissez le nom du type de racine, généralement la ressource, comme l'utilisateur ou la facture. Les interfaces imbriquées sont nommées automatiquement à partir de leur clé, avec des noms d'éléments de tableau singularisés (les versions deviennent de sortie).
Choisissez Interface ou Type d'alias, décidez d'exporter chaque déclaration, ajoutez des modificateurs en lecture seule si votre base de code préfère les formes immuables et définissez l'indentation sur 2 ou 4 espaces.
Appuyez sur Générer. Vérifiez les options et les syndicats inférés, puis copiez le code dans votre presse-papiers ou téléchargez-le sous la forme d'un fichier .ts prêt à être déposé dans votre dossier Types.
Chaque objet imbriqué devient sa propre interface réutilisable nommée au lieu d'une forme anonyme en ligne, vous pouvez donc importer et référencer les types internes de manière indépendante.
Un tableau d'objets est fusionné dans une interface d'élément. Les clés présentes dans certains enregistrements, mais pas d'autres, ne deviennent facultatives, ce qui est exactement le comportement des données d'API paginées réelles.
Choisissez si une valeur nulle signifie que la clé est facultative ou si NULL appartient à l'union. Les deux conventions sont courantes ; l'outil n'en force pas une sur votre base de code.
Émettez `Interface User {}` ou `type user = {}` pour correspondre à vos règles LINT existantes, avec des modificateurs facultatifs `export` et `readonly` appliqués de manière cohérente dans chaque déclaration.
Format, validate, and minify JSON data
Convert JSON to clean, valid YAML instantly — configurable indentation and safe string quoting
Convert JSON to well-formed XML instantly. Map object keys to elements, @-prefixed keys to attributes and #text to content, expand arrays into repeated tags, and export minified or pretty-printed XML. 100% client-side.
0 comments
No comments yet. Be the first to share your thoughts!