# JSON-codering (Go) > json.Marshal, json.Unmarshal, struct tags, custom marshaling, streaming, RawMessage - 20 gespreksvragen - Mid-Level - [Gespreksvragen: Go](https://sharpskill.dev/nl/technologies/go/sollicitatievragen.md) ## 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). ## Nog 17 vragen beschikbaar - Welke JSON-struct-tag sluit een veld volledig uit van serialisatie? - Welke JSON-struct-tag maakt het mogelijk om een veld weg te laten als de waarde leeg is? Meld je gratis aan: https://sharpskill.dev/nl/login ## Andere Go-sollicitatieonderwerpen - [Go-basis](https://sharpskill.dev/nl/technologies/go/sollicitatievragen/go-basics.md): 25 vragen, Junior - [Go-datastructuren](https://sharpskill.dev/nl/technologies/go/sollicitatievragen/go-data-structures.md): 20 vragen, Junior - [Go-interfaces](https://sharpskill.dev/nl/technologies/go/sollicitatievragen/go-interfaces.md): 18 vragen, Junior - [Foutafhandeling](https://sharpskill.dev/nl/technologies/go/sollicitatievragen/error-handling.md): 20 vragen, Junior - [Goroutines-basis](https://sharpskill.dev/nl/technologies/go/sollicitatievragen/goroutines-basics.md): 20 vragen, Junior - [Channels](https://sharpskill.dev/nl/technologies/go/sollicitatievragen/channels.md): 22 vragen, Junior - [Go Modules](https://sharpskill.dev/nl/technologies/go/sollicitatievragen/go-modules.md): 18 vragen, Mid-Level - [HTTP-server](https://sharpskill.dev/nl/technologies/go/sollicitatievragen/http-server.md): 24 vragen, Mid-Level - [HTTP-client](https://sharpskill.dev/nl/technologies/go/sollicitatievragen/http-client.md): 18 vragen, Mid-Level - [Database/SQL](https://sharpskill.dev/nl/technologies/go/sollicitatievragen/database-sql.md): 22 vragen, Mid-Level - [context-pakket](https://sharpskill.dev/nl/technologies/go/sollicitatievragen/context-package.md): 20 vragen, Mid-Level - [Testing](https://sharpskill.dev/nl/technologies/go/sollicitatievragen/testing.md): 22 vragen, Mid-Level - [Concurrency-patronen](https://sharpskill.dev/nl/technologies/go/sollicitatievragen/concurrency-patterns.md): 24 vragen, Mid-Level - [Synchronisatieprimitieven](https://sharpskill.dev/nl/technologies/go/sollicitatievragen/sync-primitives.md): 22 vragen, Mid-Level - [Go-webframeworks](https://sharpskill.dev/nl/technologies/go/sollicitatievragen/go-web-frameworks.md): 20 vragen, Mid-Level - [REST API-ontwerp](https://sharpskill.dev/nl/technologies/go/sollicitatievragen/rest-api-design.md): 20 vragen, Mid-Level - [gRPC](https://sharpskill.dev/nl/technologies/go/sollicitatievragen/grpc.md): 22 vragen, Mid-Level - [Reflection](https://sharpskill.dev/nl/technologies/go/sollicitatievragen/reflection.md): 20 vragen, Senior - [Geheugenbeheer](https://sharpskill.dev/nl/technologies/go/sollicitatievragen/memory-management.md): 24 vragen, Senior - [Prestatie-optimalisatie](https://sharpskill.dev/nl/technologies/go/sollicitatievragen/performance-optimization.md): 22 vragen, Senior - [Generics](https://sharpskill.dev/nl/technologies/go/sollicitatievragen/generics.md): 20 vragen, Senior - [Go Design Patterns](https://sharpskill.dev/nl/technologies/go/sollicitatievragen/design-patterns.md): 24 vragen, Senior - [Microservices](https://sharpskill.dev/nl/technologies/go/sollicitatievragen/microservices.md): 24 vragen, Senior - [Beveiliging en authenticatie](https://sharpskill.dev/nl/technologies/go/sollicitatievragen/security-authentication.md): 24 vragen, Senior - [Docker & Containerization](https://sharpskill.dev/nl/technologies/go/sollicitatievragen/docker-containerization.md): 20 vragen, Senior - [Kubernetes Basics](https://sharpskill.dev/nl/technologies/go/sollicitatievragen/kubernetes-basics.md): 22 vragen, Senior - [Geavanceerd Go](https://sharpskill.dev/nl/technologies/go/sollicitatievragen/advanced-go.md): 20 vragen, Senior - [CLI-ontwikkeling](https://sharpskill.dev/nl/technologies/go/sollicitatievragen/cli-development.md): 20 vragen, Senior --- Source: SharpSkill (https://sharpskill.dev), tech interview preparation for your real stack. HTML version of this page: https://sharpskill.dev/nl/technologies/go/sollicitatievragen/json-encoding