Cómo ocultar campos de estructura al serializar a JSON en Go
¡Hola a todos! Acabo de empezar a aprender Go y me encontré con un problema al trabajar con JSON. Tengo una estructura `User` que contiene muchos campos, pero en la respuesta JSON de la API necesito devolver solo una parte de ellos. Por ejemplo, no quiero mostrar la contraseña y el ID interno del usuario.
Aquí está mi código:
```go
type User struct {
ID int `json:"id"`
Name string `json:"name"`
Email string `json:"email"`
Password string `json:"password"`
InternalID string `json:"internal_id"`
}
func main() {
user := User{
ID: 1,
Name: "Иван",
Email: "ivan@example.com",
Password: "secret123",
InternalID: "int-001",
}
jsonData, _ := json.Marshal(user)
fmt.Println(string(jsonData))
// Muestra: {"id":1,"name":"Иван","email":"ivan@example.com","password":"secret123","internal_id":"int-001"}
}
```
Quiero que en la respuesta JSON solo estén `id`, `name` y `email`, y que `password` y `internal_id` no se serialicen.