Comment forcer JSON Marshal en Go à générer des clés en minuscules ?
Bonjour à tous ! J'écris ma première API REST en Go et j'ai rencontré un problème : lors de la sérialisation d'une structure en JSON via `json.Marshal`, tous les champs sont affichés en majuscules car en Go les champs exportés commencent par une lettre majuscule. Par exemple :
```go
type User struct {
Name string
Email string
Age int
}
func main() {
u := User{"Иван", "ivan@example.com", 30}
data, _ := json.Marshal(u)
fmt.Println(string(data))
// Sortie : {"Name":"Иван","Email":"ivan@example.com","Age":30}
}
```
Mais sur le frontend (React), tout le monde attend des clés en camelCase ou snake_case : `name`, `email`, `age`. J'ai essayé d'écrire mon propre marshaller, mais c'est trop lourd pour un projet avec 20+ structures.
J'ai lu à propos des tags `json:"name"`, mais les écrire manuellement pour chaque champ, c'est l'enfer, surtout s'il y a beaucoup de champs. Existe-t-il un moyen de convertir automatiquement toutes les clés en minuscules ? Ou au moins, comment utiliser correctement les tags pour ne pas devenir fou ?
Merci d'avance !