Go

Kodowanie JSON

json.Marshal, json.Unmarshal, struct tags, custom marshaling, streaming, RawMessage

20 pytań z rozmów·
Mid-Level
1

Która funkcja pozwala zakodować strukturę Go do JSON?

Odpowiedź

json.Marshal koduje strukturę Go do bajtów JSON. Ta funkcja odczytuje struct tags, aby dostosować serializację (zmiana nazwy, pomijanie pól). W przypadku streamingu do io.Writer użycie json.NewEncoder pozwala uniknąć tworzenia pośredniego bufora w pamięci.

2

Która funkcja pozwala zdekodować JSON do struktury Go?

Odpowiedź

json.Unmarshal dekoduje bajty JSON do struktury Go. Należy przekazać wskaźnik do struktury docelowej, aby dane zostały poprawnie zapisane. W przypadku streamingu z io.Reader json.NewDecoder jest wydajniejszy, ponieważ unika ładowania całego JSON do pamięci.

3

Który struct tag JSON pozwala zmienić nazwę pola podczas serializacji?

Odpowiedź

Tag json:"custom_name" pozwala zmienić nazwę pola podczas serializacji JSON. Na przykład pole UserID może stać się user_id w JSON. Jest to przydatne do przestrzegania konwencji nazewnictwa (snake_case w JSON vs CamelCase w Go).

4

Który struct tag JSON całkowicie wyklucza pole z serializacji?

5

Który struct tag JSON pozwala pominąć pole, jeśli jego wartość jest pusta?

+17 pytań z rozmów

Opanuj Go na następną rozmowę

Uzyskaj dostęp do wszystkich pytań, flashcards, testów technicznych, ćwiczeń code review i symulatorów rozmów.

Zacznij za darmo