Ich bekomme die folgende Antwort in einer URL und möchte sie entpacken, aber ich kann dies nicht tun. Dies ist die Art von Antwort, die ich gerne entpacken würde.JSON-Array in Golang kann nicht entpackt werden
[
{"title": "Angels And Demons", "author":"Dan Brown", "tags":[{"tagtitle":"Demigod", "tagURl": "/angelDemon}] }
{"title": "The Kite Runner", "author":"Khalid Hosseinei", "tags":[{"tagtitle":"Kite", "tagURl": "/kiteRunner"}] }
{"title": "Dance of the dragons", "author":"RR Martin", "tags":[{"tagtitle":"IronThrone", "tagURl": "/got"}] }
]
Ich versuche, diese Art von Antwort zu entlarven, aber nicht in der Lage, dies zu tun. Dies ist der Code, den ich versuche zu schreiben.
res, err := http.Get(url)
if err != nil {
log.WithFields(log.Fields{
"error": err,
}).Fatal("Couldn't get the html response")
}
defer res.Body.Close()
b, err := ioutil.ReadAll(res.Body)
if err != nil {
log.WithFields(log.Fields{
"error": err,
}).Fatal("Couldn't read the response")
}
s := string(b)
var data struct {
Content []struct {
Title string `json:"title"`
Author string `json:"author"`
Tags map[string]string `json:"tags"`
}
}
if err := json.Unmarshal([]byte(s), &data); err != nil {
log.WithFields(log.Fields{
"error": err,
}).Error("Un-marshalling could not be done.")
}
fmt.Println(data.Content)
Kann mir bitte jemand in dieser Hinsicht helfen? Vielen Dank im Voraus.
Was ist die Fehlermeldung, die Sie erhalten? –
error = "json: Array kann in Go-Wert vom Typ struct {Content [] struct nicht entpackt werden –