Go

JSON-Kodierung

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

20 Interview-Fragen·
Mid-Level
1

Welche Funktion ermöglicht das Kodieren einer Go-Struct in JSON?

Antwort

json.Marshal kodiert eine Go-Struct in JSON-Bytes. Diese Funktion liest die struct tags, um die Serialisierung anzupassen (Umbenennung, Auslassen von Feldern). Für Streaming auf io.Writer vermeidet die Verwendung von json.NewEncoder das Erstellen eines Zwischenpuffers im Speicher.

2

Welche Funktion ermöglicht das Dekodieren von JSON in eine Go-Struct?

Antwort

json.Unmarshal dekodiert JSON-Bytes in eine Go-Struct. Es muss ein Pointer auf die Ziel-Struct übergeben werden, damit die Daten korrekt geschrieben werden. Für Streaming aus io.Reader ist json.NewDecoder effizienter, da es das Laden des gesamten JSON in den Speicher vermeidet.

3

Welcher JSON-struct-tag ermöglicht das Umbenennen eines Felds bei der Serialisierung?

Antwort

Der Tag json:"custom_name" ermöglicht das Umbenennen eines Felds bei der JSON-Serialisierung. Zum Beispiel kann ein Feld UserID in JSON zu user_id werden. Das ist nützlich, um Namenskonventionen einzuhalten (snake_case in JSON vs. CamelCase in Go).

4

Welcher JSON-struct-tag schließt ein Feld vollständig von der Serialisierung aus?

5

Welcher JSON-struct-tag ermöglicht das Auslassen eines Felds, wenn sein Wert leer ist?

+17 Interview-Fragen

Meistere Go für dein nächstes Interview

Zugang zu allen Fragen, Flashcards, technischen Tests, Code-Review-Übungen und Interview-Simulatoren.

Kostenlos starten