json.Marshal(struct) retourne un JSON vide "{}" : comment corriger ?
Bonjour à tous ! Je suis débutant en Go et j'ai rencontré un problème étrange en travaillant avec JSON. J'ai une structure, je la remplis avec des données, j'essaie de la sérialiser en JSON avec `json.Marshal()`, mais je n'obtiens que des accolades vides `{}`. Voici mon code :
```go
package main
import (
"encoding/json"
"fmt"
)
type User struct {
Name string
Age int
}
func main() {
u := User{"Alice", 30}
result, err := json.Marshal(u)
if err != nil {
fmt.Println("Error:", err)
return
}
fmt.Println(string(result)) // Affiche : {}
}
```
Je m'attendais à voir `{"Name":"Alice","Age":30}`, mais je ne vois que `{}`. Il n'y a pas d'erreur, mais les données sont perdues. Qu'est-ce que je fais de travers ? J'ai vérifié que la structure est bien remplie — si j'affiche les champs avec `fmt.Println(u.Name, u.Age)`, ils