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

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

如何讓 json 響應在 go 中正常工作

如何讓 json 響應在 go 中正常工作

Go
慕的地8271018 2023-06-12 17:32:51
下面的代碼通過顯示 json 數組數據正常工作。這是下面代碼中的工作 Json 響應 {"provision":"provision section 1",      "subsets": [{"item":"milk"},{"payments": [{"price": "200 usd"}]}]}現在我有如下新的 json 響應。在下面的新 json 響應中,參數子集現在被方括號{}包圍{     "provision":{"subsets": [{"item":"milk"},{"payments": [{"price": "200 usd"}]}]} }如果我在代碼中集成 New json,它會顯示錯誤cannot unmarshal object into Go struct field Head.Provision。解決對象問題的任何解決方案將不勝感激
查看完整描述

2 回答

?
動漫人物

TA貢獻1815條經驗 獲得超10個贊

下面是我是如何讓它工作的。謝謝


package main


import (

    "bytes"

    "encoding/json"

    "fmt"

    "log"

)


type Head struct {

    Provision  Prov `json:"provision"`

    //Subsets []Subset `json:"subsets"`


}




type Prov struct {

   Subsets []Subset `json:"subsets"`

}






type Subset struct {

    Payments []Payment `json:"payments"`

        Item string `json:"item"`

}


type Payment struct {

    Price string `json:"price"`

}


func main() {


m := []byte(`


        {"provision":

       {"subsets": [{"item":"milk"},{"payments": [{"price": "200 usd"}]},

{"item":"SUGAR"},{"payments": [{"price": "600 usd"}]}

]}

}


`)



    r := bytes.NewReader(m)

    decoder := json.NewDecoder(r)


    val := &Head{}

    err := decoder.Decode(val)

    if err != nil {

        log.Fatal(err)

    }


//fmt.Println(val.Provision)



    // Subsets is a slice so you must loop over it 

    for _, s := range val.Provision.Subsets {

        fmt.Println(s.Item)

        // within Subsets, payment is also a slice

        // then you can access each price

        for _, a := range s.Payments {

            fmt.Println(a.Price)

        }

    }



}


查看完整回答
反對 回復 2023-06-12
?
阿波羅的戰車

TA貢獻1862條經驗 獲得超6個贊

type Head struct {

    Provision Provision `json:"provision"`

}


type Provision struct {

    Subsets []Subset `json:"subsets"`

}

https://play.golang.org/p/3TgxBOng1qE完整版在這里。


查看完整回答
反對 回復 2023-06-12
  • 2 回答
  • 0 關注
  • 181 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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