所以我正在使用一個(gè)外部 API,我想解析它的響應(yīng)。傳入的響應(yīng)具有固定格式,即type APIResponse struct { Items []interface{} `json:"items"` QuotaMax int `json:"quota_max"` QuotaRemaining int `json:"quota_remaining"`}因此,對(duì)于每個(gè)響應(yīng),我都在解析項(xiàng)目?,F(xiàn)在項(xiàng)目可以根據(jù)請(qǐng)求是不同類(lèi)型的。它可以是網(wǎng)站、文章等的一部分,它們有各自的模型。喜歡:type ArticleInfo struct { ArticleId uint64 `json:"article_id"` ArticleType string `json:"article_type"` Link string `json:"link"` Title string `json:"title"`}type SiteInfo struct { Name string `json:"name"` Slug string `json:"slug"` SiteURL string `json:"site_url"`}有什么辦法,在解析輸入時(shí)定義ItemsAPIResponse 的類(lèi)型。我不想為單個(gè)響應(yīng)創(chuàng)建單獨(dú)的類(lèi)型?;旧舷雽⑷魏蝹魅氲捻憫?yīng)解組到 APIResponse 結(jié)構(gòu)中。
1 回答

智慧大石
TA貢獻(xiàn)1946條經(jīng)驗(yàn) 獲得超3個(gè)贊
Items將字段類(lèi)型更改為interface{}:
type APIResponse struct {
Items interface{} `json:"items"`
...
}
將響應(yīng)Items字段設(shè)置為所需類(lèi)型的指針。解組響應(yīng):
var articles []ArticleInfo
response := APIResponse{Items: &articles}
err := json.Unmarshal(data, &response)
使用變量訪問(wèn)文章articles。
- 1 回答
- 0 關(guān)注
- 303 瀏覽
添加回答
舉報(bào)
0/150
提交
取消