Avatar ·

Comment renvoyer correctement du JSON en Go : guide complet avec exemples

Bonjour à tous ! Je viens de commencer à apprendre Go et j'ai rencontré un problème : je dois écrire un simple serveur HTTP qui, sur une requête GET à l'adresse /api/user, renvoie du JSON avec les données de l'utilisateur. J'ai lu que Go dispose d'un package intégré encoding/json, mais je n'arrive pas à comprendre comment sérialiser correctement une structure en JSON et l'envoyer dans la réponse. \n\nJ'ai essayé de faire ceci :\n\n```go\npackage main\n\nimport (\n "fmt"\n "net/http"\n)\n\ntype User struct {\n Name string\n Age int\n}\n\nfunc userHandler(w http.ResponseWriter, r *http.Request) {\n user := User{Name: "Анна", Age: 28}\n fmt.Fprintf(w, "%v", user) \n}\n\nfunc main() {\n http.HandleFunc("/api/user", userHandler)\n http.ListenAndServe(":8080", nil)\n}\n```\n\nMais dans la réponse, j'obtiens quelque chose comme `{Анна 28}`, et non `{"Name":"Анна"`