Avatar ·

Suppression de champs d'une structure ou leur masquage dans une réponse JSON en Go

Bonjour à tous ! Je suis débutant en Go et j'ai rencontré un problème. J'ai une structure User qui est utilisée pour stocker les données utilisateur dans une base de données et pour envoyer des réponses JSON via une API REST. ```go type User struct { ID int `json:"id"` Username string `json:"username"` Email string `json:"email"` Password string `json:"password"` Role string `json:"role"` } ``` Lorsque je retourne un utilisateur en JSON (par exemple après une inscription), je ne veux pas envoyer le champ Password et éventuellement le champ Role (pour les utilisateurs normaux). Mais je ne veux pas créer de structures séparées pour chaque cas — cela entraîne une duplication de code. J'ai essayé d'utiliser `json:"-"` pour le champ Password, mais alors il ne sera jamais inclus dans le JSON, alors que j'ai besoin qu'il soit présent dans la réponse dans certains scénarios (par exemple pour un admin). J'ai aussi essayé de mettre les champs à des chaînes vides ou à zéro, mais ils apparaissent quand même dans le JSON. Comment masquer ou supprimer correctement les champs