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

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

將 JSON 解析為嵌套結(jié)構(gòu)

將 JSON 解析為嵌套結(jié)構(gòu)

Go
明月笑刀無情 2022-12-19 10:43:53
type APIResponse struct {    Results []Result    `json:"results,omitempty"`    Paging  Paging}type Result struct {    Id string `json:"id"`,    Name string `json:"name"`,}type Paging struct {    Count    int    `json:"count"`    Previous string `json:"previous"`    Next     string `json:"next"`}func  Get(ctx context.Context) APIResponse[T] {    results := APIResponse{}    rc, Err := r.doRequest(ctx, req)    if rc != nil {        defer rc.Close()    }    err = json.NewDecoder(rc).Decode(&results)    return results}示例 JSON 如下所示:{    "count": 70,    "next": "https://api?page=2",    "previous": null,    "results": [        {            "id": 588,            "name": "Tesco",            }...我希望它被解碼為 APIResponse 形式的結(jié)構(gòu),其中分頁元素是一個子結(jié)構(gòu),就像結(jié)果一樣。但是,在示例 JSON 中,分頁方面沒有父 json 標記。它如何被解碼成它自己的獨立結(jié)構(gòu)?目前,如果我將 Count、Next 和 Previous 提升到 APIResponse 中,它們會出現(xiàn),但當它們是子結(jié)構(gòu)時不會出現(xiàn)。
查看完整描述

1 回答

?
慕婉清6462132

TA貢獻1804條經(jīng)驗 獲得超2個贊

將您的Paging結(jié)構(gòu)直接嵌入到APIResponse以下內(nèi)容中:


type APIResponse struct {

    Results []Result    `json:"results,omitempty"`

    Paging

}

type Result struct {

    Id string `json:"id"`,

    Name string `json:"name"`,

}

type Paging struct {

    Count    int    `json:"count"`

    Previous string `json:"previous"`

    Next     string `json:"next"`

}

這樣它將按照在該結(jié)構(gòu)中定義的方式工作。您可以通過兩種方式訪問其字段:

  1. 直接地: APIResponse.Count

  2. 間接: APIResponse.Paging.Count


查看完整回答
反對 回復 2022-12-19
  • 1 回答
  • 0 關(guān)注
  • 113 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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