我无法将此json解析为我的结构。任何人都可以帮忙吗
{"error":false,"response":{"results":[{"id":68876,"name":"cee lo green - big girls"},{"id":68954,"name":"charles, ray - the girl friend"},{"id":69603,"name":"charlie puth - la girls"},{"id":68001,"name":"city girls - careless"},{"id":68000,"name":"city girls - millionaire dick"},{"id":68002,"name":"city girls - period (we live)"},{"id":68004,"name":"city girls - rap shit"},{"id":68003,"name":"city girls - runnin"},{"id":68019,"name":"clairo - pretty girl"},{"id":68223,"name":"cohn, marc - girl of mysterious sorrow"},{"id":68343,"name":"contours, the - searching for a girl"}
下面是我的代码包主
导入(
“编码/ json”
“fmt”
“io / ioutil”
“日志”
“net / http”)
类型测试结构{
SngID字符串
json:"id"
SngNm字符串json:"name"
}输入内部结构{
Result[10] test `json:"results"`
}输入外部结构{
Eror bool
json:"error"
响应[1]内部json:"results"
}func main(){
var songsearch[1] Outer
response, err := http.Get("https://searchly.asuarez.dev/api/v1/song/search?query=girl")
if err != nil{
log.Fatal(err)
}
defer response.Body.Close()
if response.StatusCode != 200{
log.Fatal("Didn't get 200")
}
rawdata, err := ioutil.ReadAll(response.Body)
if err!= nil{
log.Fatal(err)
}
json.Unmarshal([]byte(rawdata), &songsearch)
fmt.Println(songsearch)
}
最佳答案
您的JSON格式错误(请检查json.Unmarshal返回的错误)。
无论如何,此结构应该适合您。
type Response struct {
Error bool `json:"error"`
Response struct {
Results []struct {
ID int `json:"id"`
Name string `json:"name"`
} `json:"results"`
} `json:"response"`
}
关于json - Golang解析为struct,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64072835/