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

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

將響應數據處理到 Struc

將響應數據處理到 Struc

Go
哈士奇WWW 2022-06-21 16:11:05
我是 GO 新手,我正在解決一個我似乎無法解決的問題:我正在針對目標發出 GET 請求并返回類似于以下的 JSON 響應:{   "data":[      {         "def":{            "key":[               {                  "id":84,                  "name":"T1"               },               {                  "id":19,                  "name":"T2"               }            ]         },         "id":2,         "Name":"Test 1"      },      {         "def":{            "key":[               {                  "id":14,                  "name":"T3"               },               {                  "id":2,                  "name":"T4"               }            ]         },         "id":3,         "Name":"Test 2"      }   ]}如何獲取resp.Body并以可以開始使用數據的方式保存它?在 Python 中,我可以輕松地執行類似data = resp.json()['data'].我會在定義結構中做這樣的事情嗎?var output Definitions json.Unmarshal([]byte(resp.Body), &output)
查看完整描述

1 回答

?
胡子哥哥

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

盡管不推薦,但您可以將任意 JSON 數據解組為 an interface{},然后將其斷言為 a map[string]interface{}:


func main() {

    input := []byte(inputJSON)

    var f interface{}

    _ = json.Unmarshal(input, &f)

    JSONmap := f.(map[string]interface{})


    fmt.Println(JSONmap["data"])

}

輸出:


$ go run main.go

[map[Name:Test 1 def:map[key:[map[id:84 name:T1] map[id:19 name:T2]]] id:2] map[Name:Test 2 def:map[key:[map[id:14 name:T3] map[id:2 name:T4]]] id:3]]

你可以在這里找到一個活生生的例子:https: //play.golang.org/p/vg-9_KgfJXx


查看完整回答
反對 回復 2022-06-21
  • 1 回答
  • 0 關注
  • 95 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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