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

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

在 Go 中將 Json 數(shù)據(jù)解組到地圖中

在 Go 中將 Json 數(shù)據(jù)解組到地圖中

Go
慕蓋茨4494581 2023-03-29 16:10:17
我正在處理一個(gè)返回 json 數(shù)據(jù)的 api,例如:    {  "bpi": {    "2018-06-01": 128.2597,    "2018-06-02": 127.3648  },  "disclaimer": "something here.",  "time": {    "updated": "Sep 6, 2013 00:03:00 UTC",    "updatedISO": "2013-09-06T00:03:00+00:00"  }然而,具有伴隨日期的價(jià)格數(shù)據(jù)可以返回動(dòng)態(tài)日期范圍(即可以是從 1 個(gè)數(shù)據(jù)對(duì)到 1000 個(gè)數(shù)據(jù)對(duì)的任何值)。我試圖只獲取日期和價(jià)格對(duì)并將它們放入地圖中供以后使用,但我沒(méi)有找到一種直接的方法。當(dāng)我將它放入一個(gè) json-to-go 自動(dòng)結(jié)構(gòu)生成器中時(shí),它將為定價(jià)創(chuàng)建一個(gè)靜態(tài)的命名結(jié)構(gòu)。這是我動(dòng)態(tài)處理數(shù)據(jù)的最佳嘗試。我從 http get 的響應(yīng)主體傳遞一個(gè)空接口,具體來(lái)說(shuō):var unstructuredJSON interface{} json.Unmarshal(body, &unstructuredJSON)并將 unstructuredJSON 傳遞給函數(shù):func buildPriceMap(unstructuredJSON interface{}, priceMap map[string]float64) {jsonBody := unstructuredJSON.(map[string]interface{})for k, v := range jsonBody {    switch vv := v.(type) {    case string:        // Do Nothing    case float64:        priceMap[k] = vv    case interface{}:        buildPriceMap(vv, priceMap)    default:        log.Fatal("Json unknown data handling unmarshal error: ", k, vv)    }}有一個(gè)更好的方法嗎?
查看完整描述

1 回答

?
qq_笑_17

TA貢獻(xiàn)1818條經(jīng)驗(yàn) 獲得超7個(gè)贊

假設(shè)您知道頂級(jí)鍵,例如bpi,等disclaimer,time并且您正在談?wù)摰摹皠?dòng)態(tài)數(shù)據(jù)對(duì)”是該字段的一部分bpi,并且每個(gè)成員的鍵和值類型bpi總是string: decimal number您做某事喜歡....


type APIResp struct {

    BPI        map[string]float64 `json:"bpi"`

    Disclaimer string

    // other fields

}

現(xiàn)在你的每一對(duì)都將被正確輸入并包含在APIResp.BPI地圖中。像你已經(jīng)在做的那樣解組;


var r APIResp

err := json.Unmarshal(body, &r)

// TODO: check err


查看完整回答
反對(duì) 回復(fù) 2023-03-29
  • 1 回答
  • 0 關(guān)注
  • 109 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

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