Avatar ·

Eliminación de campos de una estructura o su ocultación en la respuesta JSON en Go

¡Hola a todos! Soy nuevo en Go y me encontré con este problema. Tengo una estructura User que se usa para almacenar datos de usuario en la base de datos y para enviar respuestas JSON a través de REST API. ```go type User struct { ID int `json:"id"` Username string `json:"username"` Email string `json:"email"` Password string `json:"password"` Role string `json:"role"` } ``` Cuando devuelvo un usuario en JSON (por ejemplo, después del registro), no quiero enviar el campo Password y, posiblemente, el campo Role (para usuarios normales). Pero no quiero crear estructuras separadas para cada caso, ya que eso lleva a duplicación de código. He intentado usar `json:"-"` para el campo Password, pero entonces nunca se incluirá en el JSON, y necesito que esté en la respuesta en algunos escenarios (por ejemplo, para un admin). También intenté hacer que los campos sean cadenas vacías o ceros, pero en JSON siguen apareciendo. ¿Cómo ocultar o eliminar campos correctamente?