1 回答

TA贡献1829条经验 获得超13个赞
已为您提供类型为 的数据。因此,您只需将其作为参数传递即可。ioutil.ReadAllbyte[]json.Unmarshal
import (
"encoding/json"
"io/ioutil"
"net/http"
)
func toStruct(res *http.Response) (*ApiResults, error) {
body, err := ioutil.ReadAll(res.Body)
if err != nil {
return nil, err
}
defer res.Body.Close()
data := ApiResults{}
if err := json.Unmarshal(body, &data); err != nil {
return nil, err
}
return data, nil
}
您的结构似乎也存在问题。使用结构标记的正确方法如下。另外,需要导出字段以使 json 标记(由 使用)正常工作 - 从大写字母开始即可。json.Umarshal
type ApiResults struct {
Results []struct {
StatementId int `json:"statement_id"`
Series []struct {
Name string `json:"name"`
Tags struct {
Host string `json:"host"`
} `json:"tags"`
Columns []string `json:"columns"`
Values []interface{} `json:"values"`
} `json:"series"`
} `json:"results"`
}
- 1 回答
- 0 关注
- 98 浏览
添加回答
举报