Avatar ·

json.Unmarshal contre json.NewDecoder.Decode : que choisir pour parser du JSON en Go ?

Bonjour à tous ! Je viens de commencer à apprendre Go et je suis confronté à un problème de choix entre `json.Unmarshal` et `json.NewDecoder.Decode` pour analyser du JSON. Les deux méthodes font la même chose — décoder du JSON en une structure, mais dans la documentation il est écrit qu'il y a des nuances.\n\nVoici un exemple que j'ai écrit :\n\n```go\npackage main\n\nimport (\n "encoding/json"\n "fmt"\n "strings"\n)\n\ntype User struct {\n Name string `json:"name"`\n Age int `json:"age"`\n}\n\nfunc main() {\n jsonStr := `{"name": "Alice", "age": 30}`\n\n // Option 1\n var user1 User\n err := json.Unmarshal([]byte(jsonStr), &user1)\n if err != nil {\n fmt.Println("Unmarshal error:", err)\n }\n fmt.Println(user1)\n\n // Option 2\n var user2 User\n decoder := json.NewDecoder(strings.NewReader(jsonS