Go

JSON-codering

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

20 gespreksvragen·
Mid-Level
1

Welke functie maakt het mogelijk om een Go-struct naar JSON te coderen?

Antwoord

json.Marshal codeert een Go-struct naar JSON-bytes. Deze functie leest de struct tags om de serialisatie aan te passen (hernoemen, weglaten van velden). Voor streaming naar io.Writer voorkomt het gebruik van json.NewEncoder het aanmaken van een tussenliggende buffer in het geheugen.

2

Welke functie maakt het mogelijk om JSON naar een Go-struct te decoderen?

Antwoord

json.Unmarshal decodeert JSON-bytes naar een Go-struct. Er moet een pointer naar de doel-struct worden doorgegeven zodat de gegevens correct worden geschreven. Voor streaming vanuit io.Reader is json.NewDecoder efficiënter omdat het voorkomt dat alle JSON in het geheugen wordt geladen.

3

Welke JSON-struct-tag maakt het mogelijk om een veld te hernoemen tijdens serialisatie?

Antwoord

De tag json:"custom_name" maakt het mogelijk om een veld te hernoemen tijdens JSON-serialisatie. Zo kan een UserID-veld in JSON user_id worden. Dit is handig om naamgevingsconventies te respecteren (snake_case in JSON vs CamelCase in Go).

4

Welke JSON-struct-tag sluit een veld volledig uit van serialisatie?

5

Welke JSON-struct-tag maakt het mogelijk om een veld weg te laten als de waarde leeg is?

+17 gespreksvragen

Beheers Go voor je volgende gesprek

Krijg toegang tot alle vragen, flashcards, technische tests, code review-oefeningen en gespreksimulatoren.

Begin gratis