Konwerter JSON na kod

Zamień próbkę JSON na interfejsy TypeScript, struktury Go, struktury serde Rust, schemat Zod lub JSON Schema.

Ładowanie narzędzia…

Konwerter JSON na kodWklej 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

  1. Wklej lub wpisz reprezentatywną próbkę JSON w polu wejściowym albo kliknij Przykład, aby wczytać przykład.
  2. Otwórz Ustawienia i wybierz cel w sekcji Konwertuj na: TypeScript, Go, Rust, Zod lub JSON Schema.
  3. Ustaw Nazwę typu głównego, aby kontrolować nazwę interfejsu, struktury lub schematu najwyższego poziomu.
  4. Przeczytaj wygenerowany kod w panelu wyjściowym - odświeża się automatycznie, gdy edytujesz JSON lub zmieniasz opcje.
  5. 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