Go

Encodage JSON

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

20 questions d'entretien·
Confirmé
1

Quelle fonction permet d'encoder une struct Go en JSON ?

Réponse

json.Marshal encode une struct Go en bytes JSON. Cette fonction lit les struct tags pour personnaliser la sérialisation (renommage, omission de champs). Pour du streaming sur io.Writer, utiliser json.NewEncoder évite de créer un buffer intermédiaire en mémoire.

2

Quelle fonction permet de décoder du JSON vers une struct Go ?

Réponse

json.Unmarshal décode des bytes JSON vers une struct Go. Il faut passer un pointeur vers la struct cible pour que les données soient correctement écrites. Pour du streaming depuis io.Reader, json.NewDecoder est plus efficace car il évite de charger tout le JSON en mémoire.

3

Quel struct tag JSON permet de renommer un champ lors de la sérialisation ?

Réponse

Le tag json:"nom_personnalise" permet de renommer un champ lors de la sérialisation JSON. Par exemple, un champ UserID peut devenir user_id en JSON. C'est utile pour respecter les conventions de nommage (snake_case en JSON vs CamelCase en Go).

4

Quel struct tag JSON permet d'exclure complètement un champ de la sérialisation ?

5

Quel struct tag JSON permet d'omettre un champ si sa valeur est vide ?

+17 questions d'entretien

Maîtrise Go pour ton prochain entretien

Accède à toutes les questions, flashcards, tests techniques, exercices de code review et simulateurs d'entretien.

Commencer gratuitement