Wie man eine JSON-Antwort von einer HTTP-GET-Anfrage in Go erhält
Hallo zusammen! Ich habe gerade angefangen, Go zu lernen, und bin auf ein Problem gestoßen, das ich seit Stunden nicht lösen kann. Ich muss eine GET-Anfrage an eine externe API stellen, die JSON zurückgibt, und diese Antwort in eine Struktur parsen.
Hier ist, was ich versucht habe:
```go
package main
import (
"fmt"
"net/http"
)
func main() {
resp, err := http.Get("https://api.example.com/data")
if err != nil {
fmt.Println("Error:", err)
}
defer resp.Body.Close()
fmt.Println(resp) // Was nun?
}
```
Das Problem ist, dass `resp` nicht das JSON selbst ist, sondern ein Response-Objekt. Ich verstehe nicht, wie ich daraus Daten in eine Struktur extrahieren kann. Ich habe versucht, die Dokumentation zu lesen, aber dort wird viel über `io.Reader` und `json.Decoder` gesprochen, und ich bin verwirrt.
Konkrete Fragen:
1. Wie lese ich den Antwortkörper richtig?
2. Wie konvertiere ich JSON in eine Go-Struktur?
3. Muss ich den Statuscode der Antwort behandeln?
4. Wie gehe ich mit Fehlern um, wenn die API kein JSON zurückgibt?
Ich wäre dankbar für ein detailliertes Beispiel mit Erklärung. Ich p