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 關注
- 93 瀏覽
添加回答
舉報