Konwerter JSON na Go — Generator struktur
Konwertuj JSON na struktury Go online z tagami json, omitempty, wskaźnikami dla pól opcjonalnych i funkcjami unmarshal. Za darmo, szybko i prywatnie w przeglądarce.
🔒 Działa całkowicie w Twojej przeglądarce — nic nie jest przesyłaneGeneruj struktury Go z JSON
Ręczne pisanie struktur Go dla dużej odpowiedzi API jest powolne i podatne na błędy. Ten konwerter JSON na Go robi to natychmiast: wklej przykład JSON, a wygeneruje eksportowane typy struct z poprawnie zapisanymi nazwami pól i tagami json, które mapują każde pole z powrotem na jego oryginalny klucz. Zagnieżdżone obiekty stają się osobnymi nazwanymi strukturami, tablice — slice’ami, liczby całkowite i zmiennoprzecinkowe są rozróżniane jako int64 i float64, a znaczniki czasu ISO 8601 są rozpoznawane jako time.Time. Wynik jest gotowy dla encoding/json bez dalszej edycji.
Narzędzie działa dzięki quicktype, który analizuje każdy element każdej tablicy, zanim wybierze typ. Jeśli jeden element listy ma pole, którego brakuje w pozostałych, pole staje się wskaźnikiem, dzięki czemu wartość zerowa i brak wartości pozostają rozróżnialne — szczegół, który prostsze konwertery jednoprzebiegowe często pomijają.
Opcje istotne w Go
Ustaw nazwę package, aby plik się kompilował tam, gdzie go umieścisz. Włącz omitempty, jeśli serializujesz te struktury z powrotem do JSON i chcesz, aby nieobecne pola opcjonalne pozostały nieobecne. Domyślnie generator dodaje małe funkcje pomocnicze Unmarshal… i Marshal wokół typu głównego; zaznacz Structs only, jeśli wolisz samodzielnie wywoływać json.Unmarshal i potrzebujesz wyłącznie typów. Zmień nazwę struktury głównej z Root na nazwę domenową, jakiej chcesz — na przykład Repository lub WebhookEvent.
Jak uzyskać najlepszy wynik
Podaj konwerterowi reprezentatywny przykład: tablicę z kilkoma elementami, wypełnione pola opcjonalne i zagnieżdżone obiekty, które nie są puste. Puste tablice i wartości null nie dają wnioskowaniu żadnych informacji i powodują powrót do interface{}. Po wklejeniu kodu uruchom gofmt, sprawdź typy liczbowe tam, gdzie przykład może nie pokazywać pełnego zakresu, i zastąp ogólne ciągi znaków własnymi typami tam, gdzie Twoje API dokumentuje stałe wartości. Ponieważ całe przetwarzanie odbywa się w przeglądarce, dane wewnętrzne ani dane klientów nigdy nie opuszczają Twojego komputera.
Jak używać
- Wklej JSONWklej odpowiedź API lub dowolny dokument JSON albo wczytaj przykład.
- Wybierz opcjeUstaw nazwę struktury głównej i pakiet oraz zdecyduj o omitempty i funkcjach pomocniczych.
- Skopiuj strukturySkopiuj kod Go lub pobierz plik .go i jak zwykle uruchom gofmt.
Najczęściej zadawane pytania
Czy dodaje tagi json struct?
`json:"key"` zachowujący oryginalny klucz JSON, a ,omitempty do pól opcjonalnych możesz dodać jednym polem wyboru.Jak obsługiwane są pola opcjonalne i null?
*string, dzięki czemu odróżnisz brak wartości od wartości zerowej.Do czego służą funkcje pomocnicze?
UnmarshalRoot i Marshal. Zaznacz Structs only, aby otrzymać same deklaracje typów.