Omnikit
ProgramowaniePlikiFinanseWszystkie narzędzia
Ctrl K
Narzędzia dla programistówNarzędzia do plikówKalkulatory finansoweWszystkie narzędzia
Strona głównaNarzędzia dla programistówKonwerter JSON na struktury Go
EnglishالعربيةবাংলাDeutschEspañolFrançaisPolskiPortuguêsРусский

Konwerter JSON na struktury Go

programowanie

Zamiana próbki JSON na struktury Go z tagami json, int lub float64, wskaźnikami i omitempty

Działa w przeglądarce. Wpisane dane nie są nigdzie wysyłane. Sprawdzono 16 października 2026.

Wystarczy wkleić próbkę JSON, aby otrzymać typy struct w Go z tagami json, gotowe dla json.Unmarshal. Liczby całkowite stają się int, powyżej 2 147 483 647 int64, a każda wartość dziesiętna zmienia pole na float64; wartość czasem równa null staje się wskaźnikiem, a klucze brakujące w niektórych obiektach dostają omitempty.

Ta strona została przetłumaczona maszynowo z angielskiego oryginału. Tłumaczenie nie zostało jeszcze sprawdzone przez człowieka, dlatego wiążąca jest wersja angielska. Przeczytaj angielski oryginał

Dalej:
  • JSON na TypeScript Generuj interfejsy lub typy TypeScript z przykładowego JSON
  • Formater i walidator JSON Formatowanie, walidacja, minifikacja i sortowanie JSON z dokładną pozycją błędu

Jak przekonwertować JSON na strukturę Go

1

Wklej próbkę JSON, na przykład odpowiedź API, do lewego pola.

2

Typy Go pojawiają się w trakcie pisania: jedna struktura na obiekt, z tagami json i nazwami w stylu Go, np. UserID.

3

Wybierz Zagnieżdżone struktury inline lub omitempty dla każdego pola, jeśli są potrzebne, i ustaw nazwę typu głównego.

4

Kliknij Kopiuj albo Pobierz, aby zapisać plik .go, i dodaj własną linię package.

Konwerter JSON na struktury Go

Go dekoduje JSON do struktur, a każde pole potrzebuje właściwego typu i tagu json:"..." z nazwą klucza. Konwerter pisze takie typy na podstawie próbki, więc 200-wierszowa odpowiedź API staje się poprawnym kodem Go po jednym wklejeniu.

Jak dobierane są typy.

Wartość JSON Typ Go
"text" string
true / false bool
42 (tylko liczby całkowite) int lub int64 powyżej 32 bitów
4.5 (wystąpiła jakakolwiek część dziesiętna) float64
null oraz inny typ wskaźnik, np. *string
tylko null lub różne rodzaje any
[ ... ] slice, np. []string
{ ... } nazwana struktura lub struktura inline

Tablice obiektów. Wszystkie obiekty tablicy są łączone w jedną strukturę, więc pole obecne tylko w niektórych nadal się w niej znajduje, z ,omitempty w tagu. Dwa obiekty o dokładnie tych samych kluczach i typach współdzielą jedną nazwę typu.

Nazwy. Klucze stają się eksportowanymi nazwami w stylu Go: user_id staje się UserID, avatar_url AvatarURL, według listy skrótowców golint. Klucz zaczynający się od cyfry dostaje N na początku; dwa klucze dające tę samą nazwę są numerowane. Klucz ze znakami, których tag nie może zawierać, np. przecinkiem, jest oznaczany komentarzem, bo encoding/json by go nie dopasował.

Opcje. Zagnieżdżone struktury inline zapisują jeden typ z anonimowymi strukturami w środku, co pasuje do jednorazowej odpowiedzi. omitempty dla każdego pola pasuje do struktur, które są też serializowane. Typ główny nazywa się Root, chyba że zostanie nazwany inaczej.

Każdy wynik sprawdzono, odczytując kod Go z powrotem i dekodując próbkę według reguł encoding/json. Nic, co zostanie wklejone, nie opuszcza przeglądarki.

Najczęściej zadawane pytania

Jak przekonwertować JSON na strukturę Go?

Po wklejeniu próbki JSON do konwertera obok pojawia się struktura Go, z tagiem json przy każdym polu i zagnieżdżonymi obiektami jako osobnymi typami. Należy skopiować ją do pakietu i dekodować przez json.Unmarshal(data, &v), gdzie v jest zmienną typu głównego.

Czy liczby JSON w Go powinny być int czy float64?

Typ int pasuje, gdy każda wartość w próbce jest liczbą całkowitą, a float64, gdy którakolwiek ma część dziesiętną, bo encoding/json odmawia wpisania 4.5 do int. Konwerter wybiera osobno dla każdego pola i stosuje int64, gdy liczba całkowita przekracza 2 147 483 647.

Jak obsługiwane są wartości null w strukturach Go?

Pole widziane zarówno jako null, jak i z wartością staje się wskaźnikiem, np. *string, więc nil oznacza null, a pusty ciąg pozostaje czymś innym. Pole, które zawsze było null, staje się any, bo próbka nie mówi, co zawierałoby w innym przypadku.

Co robi omitempty w tagu json?

Z omitempty json.Marshal pomija pole, gdy zawiera wartość zerową: pusty ciąg, 0, false, nil lub pusty slice. Konwerter dodaje go do kluczy brakujących w niektórych obiektach tablicy, a przełącznik dodaje go do każdego pola.

Dlaczego pole nazywa się UserID, a nie UserId?

Styl Go, sprawdzany przez golint i większość linterów, zapisuje skrótowce wielkimi literami: ID, URL, HTTP, API, JSON i około czterdziestu innych. Tag json zachowuje oryginalny klucz, user_id lub userId, więc dekodowanie nadal dokładnie pasuje do API.

Czy mój JSON jest wysyłany?

Nie. Konwersja działa w przeglądarce bez żadnego żądania do serwera, a JSON nie jest zapisywany, więc odpowiedzi API z tokenami lub danymi osobowymi zostają na urządzeniu. Po zamknięciu karty nic nie pozostaje.

Źródła

  • The Go Programming Language Specification, Struct typesField declarations, identifiers and tags
  • Go standard library, encoding/jsonTag syntax, omitempty, how numbers and null decode
  • golint, lint.go (commonInitialisms)The initialisms written in capitals: ID, URL, HTTP, API and others

Ostatnia weryfikacja: 16 października 2026.

Stawki i przepisy się zmieniają; przed oparciem się na danej liczbie należy sprawdzić źródło.

Nadal coś nie działa? Zapytaj o narzędzie Konwerter JSON na struktury Go a odpowiedzieć może każdy, kto zna odpowiedź. Konto nie jest potrzebne.

Powiązane narzędzia

Wszystkie narzędzia dla programistów
Kodowanie i dekodowanie Base64Tekst i pliki do Base64 i z powrotem, z trybem bezpiecznym dla URL i podglądem obrazówKonwerter znacznika czasu UnixZnaczniki czasu Unix na daty i daty na znaczniki czasu, w dowolnej strefie czasowejJSON na TypeScriptGeneruj interfejsy lub typy TypeScript z przykładowego JSONKonwerter CSV na JSONKonwertuj CSV na JSON i JSON na CSV, z podglądem tabeliKonwerter YAML na JSONKonwertuj YAML na JSON i JSON na YAML, z rozwiązanymi kotwicamiKoder i dekoder URLKodowanie procentowe i dekodowanie tekstu oraz adresów URL, z podglądem każdej części linkuKonwerter kolorówHEX, RGB, HSL, HWB, OKLCH i CMYK w obie strony, ze sprawdzaniem kontrastuKonwerter systemów liczbowychDwójkowy, ósemkowy, dziesiętny, szesnastkowy i dowolna podstawa do 36, dokładnie przy każdej wielkości, z kodem uzupełnień do dwóch
Czy to narzędzie było pomocne?
Omnikit

Małe zadania wykonywane w przeglądarce. Bezpłatnie, szybko i prywatnie. Pliki nigdy nie są przesyłane.

Pliki

  • Compress Image
  • Image to PDF
  • Merge PDF
  • Compress PDF
  • PDF to Word
  • Word to PDF

Programowanie

  • JSON Formatter & Validator
  • Base64 Encode & Decode
  • JWT Decoder, Verifier & Encoder
  • Password Generator
  • UUID Generator
  • Unix Timestamp Converter

Finanse

  • SIP Calculator
  • EMI Calculator
  • GST Calculator
  • FD Calculator
  • PPF Calculator
  • Lumpsum Calculator
EnglishالعربيةবাংলাDeutschEspañolFrançaisPolskiPortuguêsРусский
PoradnikiPytaniaO serwisieJak sprawdzamyBiblioteka prawa (beta)PrywatnośćRegulaminUjawnieniaKontaktMore: Exam practice (UGC NET Paper 1)Działa w przeglądarce. Nic nie jest przesyłane. © 2026 Omnikit (theomnikit.com)