所以我正在使用一個外部 API,我想解析它的響應。傳入的響應具有固定格式,即type APIResponse struct { Items []interface{} `json:"items"` QuotaMax int `json:"quota_max"` QuotaRemaining int `json:"quota_remaining"`}因此,對于每個響應,我都在解析項目?,F在項目可以根據請求是不同類型的。它可以是網站、文章等的一部分,它們有各自的模型。喜歡: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"`}有什么辦法,在解析輸入時定義ItemsAPIResponse 的類型。我不想為單個響應創建單獨的類型?;旧舷雽⑷魏蝹魅氲捻憫饨M到 APIResponse 結構中。
1 回答

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