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

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

Unmarshall JSON 上的空結構且密鑰未知

Unmarshall JSON 上的空結構且密鑰未知

Go
浮云間 2023-08-07 15:21:47
我從 API 獲取如下 JSON:{  "unknownkey" : {    "sum" : 7030.76636,    "low" : 6787.05692,    "avg" : 0.00014  }}第一個鍵是未知的 - 它會改變,但內部結構始終保留相同的鍵。根據這里的討論,我創建了這些structs:type Order struct {  Result Result `json:"-"`}type Result struct {  Sum        float64    `json:"sum"`  Low        float64    `json:"low"`  Avg        float64      `json:"avg"`}我嘗試像這樣解組它:var order Orderjson.Unmarshal([]byte(body), &order)但我只是得到一個空結構:{Result:{Sum:0 Low:0 Avg:0}}
查看完整描述

1 回答

?
慕絲7291255

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

Result您可以使用值類型為或 的映射*Result:


var wrapper map[string]Result


if err := json.Unmarshal([]byte(body), &wrapper); err != nil {

    panic(err)

}


fmt.Printf("%+v\n", wrapper)

這將導致:


map[unknownkey:{Sum:7030.76636 Low:6787.05692 Avg:0.00014}]

如果您需要該Result對象,請在地圖上范圍:


for key, result := range wrapper {

    fmt.Printf("Key: %q, Result: %+v", key, result)

}

這輸出:


Key: "unknownkey", Result: {Sum:7030.76636 Low:6787.05692 Avg:0.00014}

嘗試Go Playground上的示例。



查看完整回答
反對 回復 2023-08-07
  • 1 回答
  • 0 關注
  • 169 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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