第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

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

將 JSON 數(shù)組返回到 Struct Golang

將 JSON 數(shù)組返回到 Struct Golang

Go
慕的地6264312 2023-04-24 16:48:59
我的主要目標(biāo)是將 JSON 對象傳遞回客戶端。但是,我的結(jié)構(gòu)中不斷出現(xiàn) nil 或空值。如何獲得預(yù)期和所需的 JSON 數(shù)組響應(yīng)?下面是我的代碼片段。package mainimport (    "net/http"    "fmt"    "encoding/json")type News struct {    NewsID      int     `json:"newsId"`    PlayerID    int     `json:"playerId"`    TeamID      int     `json:"teamId"`    Team        string  `json:"team"`    Title       string  `json:"title"`    Content     string  `json:"content"`    Url         string  `json:"url"`    Source      string  `json:"source"`    TermsOfUse  string  `json:"terms"`    Updated     string  `json:"updated"`}func GetBoxScore (w http.ResponseWriter, r *http.Request) {    news := News{}    req, _ := http.NewRequest("GET","https://api.fantasydata.net/v3/nhlpb/scores/JSON/News", nil)    req.Header.Set("Ocp-Apim-Subscription-Key", "API KEY")    req.Host = "api.fantasydata.net"    client := &http.Client{}    res, err := client.Do(req)    defer res.Body.Close()    if err != nil {        fmt.Printf("The HTTP request failed with error %s\n", err)    }    err = json.NewDecoder(r.Body).Decode(&news)    newsJson, err := json.Marshal(news)    if err != nil {        panic(err)    }    w.Header().Set("Content-Type", "application/json")    w.WriteHeader(http.StatusAccepted)    w.Write(newsJson)}目前,響應(yīng)是我的空 News 結(jié)構(gòu),所有值為 nil。我想要和期待的回應(yīng)如下:  [        {            "NewsID": 8919,            "PlayerID": 30003647,            "TeamID": 28,            "Team": "VAN",            "Title": "Rumors have Elias Pettersson back this week",            "Content": "The rumor mill has Elias Pettersson (concussion) returning this week.",            "Url": "http://www.rotoworld.com/player/nhl/5819/elias-pettersson",            "Source": "NBCSports.com",            "TermsOfUse": "NBCSports.com feeds in the RSS format are provided free of charge for use by individuals for personal, non-commercial uses. More details here: http://fantasydata.com/resources/rotoworld-rss-feed.aspx",            "Updated": "2018-10-21T11:54:00"        },
查看完整描述

2 回答

?
aluckdog

TA貢獻(xiàn)1847條經(jīng)驗(yàn) 獲得超7個贊

我要在這里提到兩件事。首先,你是否得到了你期望的回應(yīng)?你可能想檢查一下。


第二,您提供的 json 是一組新聞,而不是單個新聞。您可能希望將新聞類型更改為數(shù)組而不是單個新聞。


type NewsItem struct {

    NewsID      int     `json:"newsId"`

    PlayerID    int     `json:"playerId"`

    TeamID      int     `json:"teamId"`

    Team        string  `json:"team"`

    Title       string  `json:"title"`

    Content     string  `json:"content"`

    Url         string  `json:"url"`

    Source      string  `json:"source"`

    TermsOfUse  string  `json:"terms"`

    Updated     string  `json:"updated"`

}


type News []NewsItem


查看完整回答
反對 回復(fù) 2023-04-24
?
胡子哥哥

TA貢獻(xiàn)1825條經(jīng)驗(yàn) 獲得超6個贊

在下一行

err = json.NewDecoder(r.Body).Decode(&news)

您正在傳遞新聞結(jié)構(gòu),因?yàn)?json 實(shí)際上是一個數(shù)組。因此,您需要創(chuàng)建一片新聞結(jié)構(gòu),然后傳遞它。

newsList := make([]News,0)
err = json.NewDecoder(r.Body).Decode(&newsList)


查看完整回答
反對 回復(fù) 2023-04-24
  • 2 回答
  • 0 關(guān)注
  • 136 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號