Avatar ·

Cómo hacer que JSON Marshal en Go genere claves en minúsculas

¡Hola a todos! Estoy escribiendo mi primera API REST en Go y me encontré con un problema: al serializar una estructura a JSON mediante `json.Marshal`, todos los campos se muestran con mayúsculas porque en Go los campos exportados comienzan con mayúscula. Por ejemplo: ```go type User struct { Name string Email string Age int } func main() { u := User{"Iván", "ivan@example.com", 30} data, _ := json.Marshal(u) fmt.Println(string(data)) // Salida: {"Name":"Iván","Email":"ivan@example.com","Age":30} } ``` Pero en el frontend (React) todos esperan claves en camelCase o snake_case: `name`, `email`, `age`. Intenté escribir mi propio marshaler, pero es demasiado engorroso para un proyecto con 20+ estructuras. Leí sobre las etiquetas `json:"name"`, pero escribirlas manualmente para cada campo es un infierno, especialmente si hay muchos campos. ¿Hay alguna forma de convertir automáticamente todas las claves a minúsculas? ¿O al menos cómo usar las etiquetas correctamente para no volverse loco? Por favor, indíquenme.