Comment convertir correctement une structure Go en JSON et gérer les erreurs ?
Bonjour à tous ! Je viens de commencer à apprendre Go et j'ai rencontré un problème en travaillant avec JSON. J'essaie de convertir une structure en JSON, mais rien ne fonctionne.
Voici mon code :
```go
package main
import (
"fmt"
"encoding/json"
)
type Person struct {
Name string
Age int
City string
}
func main() {
p := Person{Name: "Иван", Age: 30, City: "Москва"}
// J'essaie de convertir en JSON
result := json.Marshal(p)
fmt.Println(result)
}
```
Au lieu d'un JSON normal, j'obtiens un résultat étrange comme `[123 34 78 97...]`. Je m'attendais à voir quelque chose comme `{"Name":"Иван","Age":30,"City":"Москва"}`.
Pourquoi cela se produit-il ? J'ai lu la documentation, mais tout y est écrit de manière compliquée. Peut-être faut-il ajouter des tags ? Ou est-ce que j'appelle la fonction de manière incorrecte ? Expliquez-moi, s'il vous plaît, comment sérialiser correctement une structure en JSON en Go.
Autre question : que faire si la structure contient des structures imbriquées ou des slices ? Comment gérer les champs privés ? Et comment traiter les erreurs ?