Wejście JSON

Wyjście Go

Czym jest JSON do Go?

Właśnie wywołałeś REST API w Postmanie, odpowiedź jest w JSON i musisz to odczytać w Go — ale ręczne pisanie struktury dla głęboko zagnieżdżonej odpowiedzi jest naprawdę uciążliwe. JSON i pakiet encoding/json w Go świetnie ze sobą działają, ale Go wymaga jawnych definicji struktur dla każdego zagnieżdżonego obiektu. Pominięcie pola lub błędny typ sprawia, że unmarshal po cichu zwraca wartości zero. To narzędzie generuje pełne drzewo struktur z Twojego JSON, gotowe do wklejenia bezpośrednio do projektu.

To narzędzie generuje struktury Go z Twojego JSON. Ustaw nazwę struktury i pakietu w panelu konfiguracji. Włącz tagi JSON dla json:"field_name", aby pola struktury poprawnie mapowały się na klucze camelCase lub snake_case. Włącz wskaźniki dla pól opcjonalnych lub nullable.

Konwersja działa w całości w Twojej przeglądarce. Twój JSON nigdy nie jest wysyłany na serwer.

Jak używać tego narzędzia

1

Wklej lub wczytaj JSON

Skopiuj swój JSON i wklej go do lewego edytora. Możesz też kliknąć Wczytaj, aby załadować plik .json lub .txt. Użyj przycisku Przykład, aby załadować przykładowe dane. Ustaw nazwę struktury i pakietu w panelu konfiguracji.

2

Sprawdź wygenerowane struktury

Prawy panel pokazuje wygenerowane struktury Go. Zagnieżdżone obiekty stają się zagnieżdżonymi lub oddzielnymi strukturami. Tablice stają się []Type. Tagi JSON mapują pola struktury na klucze JSON. Jeśli Twój JSON ma nieprawidłową składnię, napraw ją najpierw używając Formatera JSON lub Walidatora JSON.

3

Kopiuj lub pobierz

Użyj Kopiuj, aby umieścić wynik w schowku, lub Pobierz, aby zapisać jako plik .go. Wklej go do swojego projektu Go.

Przykłady JSON do Go

Oto przykład generowania struktur Go z obiektu JSON.

Przykład: Rekord subskrybenta

Wejście JSON:

Wejście

Wygenerowane wyjście Go:

Wyjście

Kiedy JSON do Go jest pomocny

Większość programistów potrzebuje tego przy integracji API. Wysyłasz żądanie przez Postman lub curl, a odpowiedź przychodzi jako JSON. Wklejenie jej tutaj daje typowane struktury do natychmiastowego użycia z encoding/json.

Pliki konfiguracyjne to kolejny powszechny przypadek. config.json lub settings.json z zagnieżdżonymi obiektami często wymaga struktury Go dla dostępu z bezpieczeństwem typów. Jeśli najpierw musisz połączyć dwa pliki JSON, użyj oddzielnego narzędzia JSON Merge.

Eksporty baz danych z MongoDB, Firestore lub CouchDB to zazwyczaj duże bloki JSON. Przetworzenie ich tutaj pomaga zrozumieć strukturę dokumentu i wygenerować struktury Go dla skryptów importu lub zapytań.

Często zadawane pytania

Jak automatycznie generować struktury Go z JSON?

Wklej JSON do tego narzędzia, a wygeneruje struktury Go od razu. Włącz tagi JSON, żeby nazwy pól były poprawnie mapowane na klucze JSON. Skopiuj wynik do swojego projektu Go — gotowe do użycia z json.Unmarshal().

Dlaczego struktury Go potrzebują tagów JSON?

Nazwy pól muszą być eksportowane (z wielkiej litery) dla JSON. JSON często używa camelCase lub snake_case. Tag json:"fieldName" mówi encoding/json, który klucz JSON odpowiada któremu polu. Bez tagów json.Unmarshal wykonuje dopasowanie bez rozróżniania wielkości liter i może po cichu pomijać pola.

Czy moje dane są gdzieś wysyłane?

Nie. Wszystko działa w Twojej przeglądarce — Twój JSON nigdy nie opuszcza Twojego urządzenia. Możesz to sprawdzić w zakładce Sieć przeglądarki. Bezpieczne dla danych produkcyjnych.

Co z omitempty?

Dodaj omitempty do tagu JSON dla pól, których nie chcesz w wynikach gdy są puste: json:"name,omitempty". Generator nie dodaje tego domyślnie — zależy to od przypadku użycia, edytuj wyniki po wygenerowaniu.

Kiedy używać wskaźników dla pól struktur?

Używaj *Type dla pól opcjonalnych lub nullable. Ze wskaźnikiem brakujące pole JSON zwraca nil, co możesz sprawdzić. Bez wskaźników otrzymujesz wartość zero i nie możesz odróżnić, czy pole brakowało, czy było po prostu puste.

Powiązane narzędzia

Dla obsługi JSON w Go, zobacz encoding/json. Dla JSON, zobacz specyfikację JSON i RFC 8259. Do testowania API, zobacz Postman.