Przejdź do treści

JSON do TypeScript

JSON do TypeScript lokalnie konwertuje próbki JSON na interfejsy TypeScript i aliasy typów, z polami opcjonalnymi, wnioskowaniem union/null/date, nazwą root oraz kopiowaniem lub pobieraniem jako .ts.

JSON

Znaki

0 / 50,000

TypeScript

JSON do TypeScript

Szybki start

1
Wklej prawidłową próbkę JSON do lewego edytora.
2
W razie potrzeby ustaw nazwę typu głównego, np. ApiResponse.
3
Sprawdź TypeScript po prawej: obiekty dają interface; tablice lub prymitywy type alias.
4
Skopiuj lub pobierz wygenerowany .ts; akcje wejścia obsługują próbkę JSON.

Typowe scenariusze

Szybko zamieniaj rzeczywiste odpowiedzi API na typy TypeScript gotowe do użycia w frontendzie, SDK lub podczas integracji.

Zanim zatwierdzisz kontrakt, sprawdź na próbce JSON, jak wywnioskowane są pola opcjonalne, null i typy unii.

Konwertuj przykładowe dane JSON na szybkie definicje typów dla fixture, historii Storybook lub prototypów.

Gdy zmienia się odpowiedź backendu, użyj nowej próbki JSON, aby szybko sprawdzić, czy zagnieżdżone typy jak User czy Meta wymagają aktualizacji.

Wskazówki użycia

Użyj reprezentatywnej próbki JSON. Jest to wnioskowanie oparte na próbkach, więc brakujące pola lub wartości nie mogą pojawić się w wynikach.
Puste tablice stają się unknown[], a puste obiekty stają się interface rozszerzającym Record<string, unknown>, dopóki nie podasz bogatszych danych przykładowych.
Nazwy zagnieżdżonych deklaracji są normalizowane na podstawie nazw właściwości, dlatego nowszy wynik preferuje nazwy takie jak User lub Meta zamiast starszych form z prefiksem root.
Generowanie działa tylko dla poprawnego JSON. Najpierw popraw błędy składni; edytor pokaże wiersz i kolumnę, gdy parsowanie się nie powiedzie.
Poprawne własne nazwy korzenia są zachowywane bez zmian; niepoprawne nazwy są normalizowane do prawidłowego identyfikatora PascalCase TypeScript.

Wpisz granice wnioskowania

Generator wnioskuje na podstawie bieżącej próbki, a nie na podstawie schematu JSON, Open API, GraphQL, plików, adresów URL, linii JSON lub próbek wsadowych.
Tablice łączą obserwowane kształty elementów: brakujące pola w niektórych elementach stają się opcjonalne, a wartości null lub mieszane stają się sumami.
Ciągi podobne do daty można wywnioskować jako datę, ale wartość JSON środowiska wykonawczego nadal jest ciągiem znaków, chyba że kod ją przeanalizuje.
Korzenie obiektów generują interfejs; tablice i pierwotne korzenie generują aliasy typów; puste tablice używają nieznanego [], a puste obiekty rozszerzają Record<string, nieznany>.
Domyślna nazwa root to Root. Prawne nazwy niestandardowe są zachowywane, natomiast nieprawidłowe nazwy i słowa zastrzeżone są normalizowane doPascalCase.
Dane wyjściowe to tylko statyczne deklaracje TypeScript: brak walidatora środowiska wykonawczego, parsera, serializatora, schematu Zod/Yup/io-ts lub klienta API.

Ograniczenia i kompatybilność

To narzędzie wnioskuje typy na podstawie przykładowych danych, a nie na podstawie formalnego schematu lub kontraktowego źródła prawdy. Nie można odgadnąć pól, których brakuje w Twojej próbce.
Wejście musi być ścisłym JSON-em. Komentarze, końcowe przecinki i inna składnia tylko JavaScript są odrzucane.
Wygenerowany kod TypeScript nie zawiera instrukcji export. Pobranie pliku .ts jest czym innym niż dodanie słowa kluczowego export, którego może wymagać projekt.
Wynikiem jest tylko statyczny kod TypeScript. Nie tworzy walidatorów środowiska wykonawczego, parserów, serializatorów, schematów ZOD ani klientów API.

Prywatność i bezpieczeństwo

JSON do TypeScript działa lokalnie w przeglądarce. Dane JSON wejściowe mogą pozostać jako szkic przeglądarki. Jeśli włączono zapisany obszar roboczy lub synchronizację WebDAV, dane JSON, nazwa typu głównego, preferencje numerów wierszy wejścia/wyjścia i preferencje zawijania wierszy mogą zostać zapisane przez tę synchronizację. Wygenerowany TypeScript, błędy walidacji, podświetlenia wiersza/kolumny, stan kopiowania i historia cofania są wyprowadzane z bieżących danych wejściowych i nie są zapisywane jako osobne dane wyniku. Pobrania wejściowego JSON i wyjściowego .ts są tworzone tylko po kliknięciu Download. To narzędzie nie przesyła plików ani nie tworzy załączników.

Najczęstsze pytania

6

Przejdź do kolejnego kroku z tymi powiązanymi narzędziami.

Całe przetwarzanie narzędzi odbywa się lokalnie w Twojej przeglądarce.