JSON do TypeScript
JSON do TypeScript
Konwertuje przykłady JSON na interfejsy i aliasy typów TypeScript, automatycznie scala pola z tablic obiektów, wykrywa pola opcjonalne i unie z null oraz generuje odpowiednie deklaracje typów dla pustych tablic i obiektów. Przydatne do modelowania odpowiedzi API, inicjalizacji typów we frontendzie i porządkowania struktur danych.
Szybki start
Typowe scenariusze
Zamień prawdziwe odpowiedzi API na początkowe modele TypeScript dla stron frontendowych, klientów SDK lub testów integracyjnych.
Przeglądaj mieszane tablice obiektów, aby zobaczyć pola opcjonalne i typy union, zanim utrwalisz kontrakt API.
Konwertuj przykładowe dane JSON na szybkie definicje typów dla fixture, historii Storybook lub prototypów.
Sprawdzaj zagnieżdżone deklaracje, takie jak User lub Meta, gdy zmienia się kształt payloadu backendu.
Wskazówki użycia
Ograniczenia i kompatybilność
Prywatność i bezpieczeństwo
Najczęstsze pytania
Korzenie obiektowe generują deklaracje interface. Korzenie tablicowe i wartości prymitywne generują type alias. Dla tablicy obiektów na najwyższym poziomie korzeń pozostaje type alias, np. type Root = RootItem[];, a struktura elementu jest deklarowana osobno.
Bez przykładowych elementów lub właściwości generator nie może wywnioskować niczego węższego. Dlatego pozostawia puste tablice jako unknown[] i puste obiekty jako interface rozszerzające Record<string, unknown>, dopóki nie wkleisz bardziej reprezentatywnych danych.
Jeśli wpisana nazwa jest już prawidłowym identyfikatorem TypeScript, zostaje zachowana dokładnie, np. APIResponse. Nieprawidłowe nazwy są normalizowane do stabilnego identyfikatora PascalCase przed generowaniem.
Obecny generator normalizuje nazwy zagnieżdżone na podstawie ścieżek właściwości i deterministycznie rozwiązuje kolizje. Dlatego nowszy wynik używa nazw takich jak User, Meta lub FooBarClass zamiast zawsze dodawać prefiks nazwy głównej.
Obecny kontrakt wyjściowy celowo zwraca zwykłe deklaracje bez export. Dzięki temu wynik pozostaje neutralny, a Ty możesz dodać export zgodnie ze stylem swojego projektu.