我正在嘗試執行 API 請求以從 steams 公共 API 獲取一些信息(這主要是為了學習 Go 并且只是學習如何處理 Json / API 請求)到目前為止我已經得到了這段代碼:package mainimport ( "encoding/json" "fmt" "io/ioutil" "net/http" "strconv")type SteamAPI struct { APIKey string}type GetAppNews struct { AppNews struct { AppId int `json:"appid"` NewsItems []struct { Gid int `json:"gid"` Title string `json:"title"` Url string `json:"url"` IsExternalUrl bool `json:"is_external_url"` Author string `json:"author"` Contents string `json:"contents"` Feedlabel string `json:"feedlabel"` Date int `json:"date"` } `json:"newsitems"` } `json:"appnews"`}type JsonResponse map[string]GetAppNewsfunc (s SteamAPI) GetNewsForApp(appid, count, maxlength int) error { sAppid := strconv.Itoa(appid) sCount := strconv.Itoa(count) sMaxlength := strconv.Itoa(maxlength) resp, err := http.Get("http://api.steampowered.com/ISteamNews/GetNewsForApp/v0002/?appid=" + sAppid + "&count=" + sCount + "&maxlength=" + sMaxlength + "&format=json") if err != nil { return err } defer resp.Body.Close() body, err := ioutil.ReadAll(resp.Body) if err != nil { return err } var jsonReturn JsonResponse json.Unmarshal(body, &jsonReturn) fmt.Println(jsonReturn) return nil}func main() { Tester := SteamAPI{""} Tester.GetNewsForApp(440, 3, 300)}事情似乎有效,好吧,我想但它沒有按照我期望的方式對其進行格式化。它打印出來是這樣的:map[appnews:{{0 []}}]您可以單擊此處查看 JSON 響應的確切格式,如果有人能告訴我我的結構做錯了什么,最后我希望能夠像這樣:fmt.Println(blah["appnews"]["appid"])它會返回440。這就是我真正要講的,如果您需要更多具體信息,請告訴我!謝謝您的幫助
添加回答
舉報
0/150
提交
取消