Konwerter JSON na kod
Zamień próbkę JSON na interfejsy TypeScript, struktury Go, struktury serde Rust, schemat Zod lub JSON Schema.
Konwerter JSON na kod — Wklej reprezentatywną próbkę JSON i natychmiast uzyskaj silnie typowany kod w docelowym języku: interfejsy TypeScript, struktury Go ze znacznikami json, struktury serde Rust, schemat Zod lub JSON Schema draft-07. Typy są wnioskowane bezpośrednio z danych - zagnieżdżone obiekty stają się nazwanymi typami, tablice wnioskują typ swojego elementu, a pola, których nie ma w każdym elemencie tablicy, są oznaczane jako opcjonalne. Wszystko działa w Twojej przeglądarce, więc Twój JSON nigdy nie jest przesyłany.
Czym jest Konwerter JSON na kod?
JSON na kod to darmowy generator typów działający w przeglądarce, który odczytuje próbkę JSON i zapisuje odpowiadający jej model danych w wybranym przez Ciebie języku. Wybierz cel z menu Konwertuj na - interfejs TypeScript, struktura Go, struktura serde Rust, schemat Zod lub JSON Schema - i ustaw Nazwę typu głównego, aby oznaczyć typ najwyższego poziomu. Silnik wnioskowania przechodzi przez JSON: ciągi znaków, liczby, wartości logiczne i null są mapowane na typy natywne, zagnieżdżone obiekty są podnoszone do własnych nazwanych typów, tablice przyjmują typ swojego elementu, a klucze nieobecne w niektórych elementach tablicy stają się opcjonalne. Programiści frontendu i backendu używają go do tworzenia DTO z odpowiedzi API, szkicowania schematów walidacji oraz utrzymywania zgodności typów klienta i serwera bez ręcznego pisania szablonowego kodu.
Jak używać Konwerter JSON na kod
- Wklej lub wpisz reprezentatywną próbkę JSON w polu wejściowym albo kliknij Przykład, aby wczytać przykład.
- Otwórz Ustawienia i wybierz cel w sekcji Konwertuj na: TypeScript, Go, Rust, Zod lub JSON Schema.
- Ustaw Nazwę typu głównego, aby kontrolować nazwę interfejsu, struktury lub schematu najwyższego poziomu.
- Przeczytaj wygenerowany kod w panelu wyjściowym - odświeża się automatycznie, gdy edytujesz JSON lub zmieniasz opcje.
- Sprawdź statystykę Typy, aby zobaczyć, ile nazwanych typów wywnioskowano, a następnie kliknij Kopiuj, aby pobrać wynik.
Przykłady
Obiekt na interfejs TypeScript
Wejście
{ "id": 1, "name": "Ada", "active": true }Wyjście
export interface Root {
id: number;
name: string;
active: boolean;
}Zagnieżdżony obiekt na strukturę Go
Wejście
{ "user": { "age": 30 } }Wyjście
type User struct {
Age float64 `json:"age"`
}
type Root struct {
User User `json:"user"`
}Tablica z brakującym kluczem na schemat Zod
Wklej tablicę taką jak [{"a":1,"b":2},{"a":3}] i przełącz Konwertuj na na Zod. Ponieważ drugi element nie ma b, generator oznacza b jako .optional() w wywnioskowanym z.object, więc schemat akceptuje obie postaci.
Najczęściej zadawane pytania
- Czy mój JSON jest gdziekolwiek przesyłany?
- Nie. Parsowanie i generowanie kodu odbywają się w całości w Twojej przeglądarce za pomocą wbudowanego silnika wnioskowania. Twój JSON nigdy nie opuszcza Twojego urządzenia, a narzędzie działa również w trybie offline.
- Jakie cele są obsługiwane?
- Interfejsy TypeScript, struktury Go (ze znacznikami json i omitempty dla pól opcjonalnych), struktury serde Rust (z derive'ami Serialize/Deserialize oraz rename, gdy pole zostaje zmienione), schematy Zod i JSON Schema draft-07. Narzędzie generuje tylko to, co potrafi wiernie wywnioskować z Twojej próbki.
- Jak ustalane są pola opcjonalne?
- Na podstawie Twojej próbki. Gdy tablica zawiera obiekty, a klucz brakuje w niektórych z nich, klucz ten jest wnioskowany jako opcjonalny. Poza tym każdy klucz obecny w próbce jest traktowany jako wymagany.
- A co z liczbami, null i typami mieszanymi?
- Liczby są mapowane na typ zmiennoprzecinkowy danego języka (number, float64, f64), null jest mapowany na typ dopuszczający wartość null lub typ wartości w zależności od celu, a pole zawierające różne typy w różnych próbkach wycofuje się do typu permisywnego (unknown, interface{}, serde_json::Value), zamiast zgadywać.
- Dlaczego mój wynik jest pusty lub pokazuje błąd?
- Dane wejściowe muszą być prawidłowym JSON-em. Jeśli parsowanie się nie powiedzie, narzędzie pokazuje błąd wraz z wierszem i kolumną, gdy są dostępne; popraw wskazane miejsce, a kod zostanie natychmiast wygenerowany ponownie.
Powiązane narzędzia
Kodowanie / dekodowanie Base32 / Base58
Koduj tekst do Base32 (RFC 4648) lub Base58 (alfabet Bitcoina) i dekoduj oba z powrotem do tekstu, w pełni bezpiecznie dla UTF-8 i całkowicie w Twojej przeglądarce.
Kodowanie / dekodowanie Base64
Koduj lub dekoduj Base64 (bezpieczne dla UTF-8) z alfabetem URL-safe, opcjonalnym dopełnieniem, zawijaniem 64/76, licznikiem bajtów i znaków na żywo oraz widokiem bajtów w hex lub binarnie.
Konwerter wielkości liter i licznik
Konwertuj tekst między UPPERCASE, camelCase, PascalCase, snake_case, CONSTANT_CASE, kebab-case, dot.case i innymi oraz licz znaki, słowa i wiersze.
Formater i minifikator kodu
Upiększaj lub minifikuj HTML, CSS i JavaScript bezpośrednio w przeglądarce, z wcięciem 2 spacji, 4 spacji lub tabulacji oraz kompresją JavaScript opartą na Terser.