JSON jest jednym z najpopularniejszych formatów wymiany danych. Jest uproszczony, czynny człowieka i bardzo elastyczny. Jest to doskonały wybór dla interfejsów API i większości transferu danych. Urządzenie, które masz, prawdopodobnie używa JSON do wykonania określonego zadania.
W takim przypadku ważne jest nauczenie się pracy z JSON. W tym przewodniku dowiemy się, jak pracować.
Golang Marshal
Kodowanie i dekodowanie informacji JSON w Go jest dostarczany przez pakiet kodowania/JSON. Jest częścią standardowej biblioteki; dlatego nie musisz go instalować.
Będziesz jednak musiał go zaimportować, zanim będziesz mógł go użyć.
Pakiet Econding/JSON koduje dowolny typ danych do prawidłowego ciągu JSON, jak zobaczymy w tych przykładach.
Przed omówieniem, jak kodować struktury GO, zacznijmy od podstawowych typów danych.
Funkcja marszałka JSON
Poniżej opisano składnię funkcji marszałek zgodnie z definicją w pakiecie.
Func Marshal (V interfejs ) ([] bajt, błąd)Funkcja przyjmuje dowolny typ danych jako argument. Funkcja zwraca plasterek bajtowy, a podczas procesu marszałka napotyka błąd.
Marshal int
Możemy marszał typ liczby całkowitej, jak pokazano w poniższym przykładzie:
Pakiet MainW powyższym przykładzie zaczynamy od zaimportowania wymaganych pakietów. Potrzebujemy kodowania/JSON, FMT i pakietu odbijania w naszym przykładzie.
Używamy JSON.Marshal () metoda marszałek i wartości całkowitej. Zauważysz, że funkcja zwraca niezint8 (8-bitowa liczba całkowita niepodpisana) lub bajt. Musimy rzucić go na ciąg, jak pokazano na poniższym wyjściu:
$ Go Run Marshall.IśćZwraca to ciąg liczby całkowitych.
String marszałka.
Możemy marszał typ ciągu, jak pokazano w poniższym przykładzie:
FUNCMARSHAL_STR ()Jeśli uruchomimy powyższy kod, powinniśmy przekształcić ciąg w kawałek bajtów jako:
String zebrany: [34 76 105 110 117 120 104 105 110 116 34]Marshall Bool
Możesz także marszał typ boolean za pomocą funkcji marszałka. Rozważ poniższy przykład:
FUNCMARSHAL_BOOL ()Marszałek
Marszałek pływający typ, jak pokazano:
FUNCMARSHAL_FLOAT ()Marszałek
Poniższy przykład ilustruje, jak marszał kawałek w Go:
FUNCMARSHAL_SLICE ()Marszałek struktura
Aby zmarandować strukturę w Go, rozważ poniższy przykład:
FUNCMARSHAL_STRUCT ()Powyższa funkcja przykładowa ilustruje, jak marszał typ struktury w Go.
Powstałe wyjście jest jak pokazano:
„Full_name”: „John Doe”, „Age”: 32, „emeryt”: false, „pensja”: 140000Powyższe przedstawia struktura wysunięta na prawidłowy ciąg JSON.
Golang Unmarshal
Unmarshal jest sprzeczny z marszałkiem. Pozwala na konwersję danych bajtów na oryginalną strukturę danych.
W Go Unmarshaling jest obsługiwany przez JSON.Metoda unmarshal ().
Rozważ przykładowy ciąg JSON jako:
„Full_name”: „John Doe”, „Age”: 32, „emeryt”: false, „pensja”: 140000Zacznijmy od utworzenia struktury dopasowania kodu bajtowego po wykonaniu Unmarshal.
Wpisz Struktura użytkownikaNastępnym krokiem jest utworzenie ciągu JSON w kodzie bajtów. Po uzyskaniu kodu bajtowego możemy go niezmarować do struktury.
user_info_bytes: = [] bajte (user_info)Po uzyskaniu kodu bajtowego możemy go niezmarować do struktury.
VAR PRACOWNIK UżytkownikPo uzyskaniu struktury możemy uzyskać dostęp do wartości jako:
fmt.Println (pracownik.Full_name)Powyższy kod powinien zwrócić:
nieznany z nazwiskaPełny kod źródłowy jest pokazany poniżej:
func unmarshal_struct ()Wniosek
Marszałek i Unmarshal stanowią ważny wymóg transformacji danych. Jako programiści ważne jest zapoznanie się z tym, jak wykonywać takie operacje. Ten samouczek z łatwością służy temu celowi.
Dziękujemy za przeczytanie i szczęśliwe kodowanie!