亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

使用 Go (golang) 如何將數據解組到結構中,然后從結構中調用特定字段?

使用 Go (golang) 如何將數據解組到結構中,然后從結構中調用特定字段?

Go
江戶川亂折騰 2021-11-01 15:46:51
我正在嘗試執行 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。這就是我真正要講的,如果您需要更多具體信息,請告訴我!謝謝您的幫助
查看完整描述

1 回答

?
有只小跳蛙

TA貢獻1824條經驗 獲得超8個贊

數據很適合結構,不需要map[string]GetAppNews.

type JsonResponse map[string]GetAppNews應該只是GetAppNews。

playground


查看完整回答
反對 回復 2021-11-01
  • 1 回答
  • 0 關注
  • 168 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號