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

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

Go中如何解析字段名為值的JSON?

Go中如何解析字段名為值的JSON?

Go
GCT1015 2023-07-31 17:19:55
我從服務收到具有此格式的 JSON。{    "result": {        "bn05deh7jsm86gtlg2l0C": [            {                "index_name": "BASE",                "index_value": 4081512,                "timestamp": "2019-11-05T13:20:00Z",                "op_id": "A0000000001"            },            ...        ],        "bn05deh7jsm86gtlg2lgC": [            {                "index_name": "BASE",                "index_value": 4728633,                "timestamp": "2019-11-05T13:20:00Z",                "op_id": "A0000000001"            },            ...        ],        ...    }}我需要的是將其轉換為像 []Measure 這樣的對象數組:type Measure struct {    IndexName    string    `json:"index_name"`    IndexValue   uint32    `json:"index_value"`    Timestamp    time.Time `json:"timestamp"`    OperationID  string    `json:"op_id"`    Guid         string    `json:"guid"`}哪里Guid應該有價值bn05deh7jsm86gtlg2l0C,bn05deh7jsm86gtlg2lgC等等。這是我的代碼:url := "https://myurl.com"req, err := http.NewRequest("GET", url, nil)if req != nil {    req.Header.Set("Content-Type", "application/json")}resp, err := client.Do(req)if err != nil {    log.Println(err)    return nil}var measures []Measureerr = json.NewDecoder(resp.Body).Decode(&measures)if err != nil {    log.Println(err)}我怎樣才能做到這一點?
查看完整描述

2 回答

?
慕雪6442864

TA貢獻1812條經驗 獲得超5個贊

解碼為與數據結構匹配的類型:


var d struct{ Result map[string][]Measure }

err = json.NewDecoder(resp.Body).Decode(&d)

將該數據轉換為所需的結果:


var measures []Measure

for k, vs := range d.Result {

    for _, v := range vs {

        v.Guid = k

        measures = append(measures, v)

    }

}

在操場上跑起來


查看完整回答
反對 回復 2023-07-31
?
Helenr

TA貢獻1780條經驗 獲得超4個贊

您不能使用純編碼/json 來執行此操作。Marstall 進入地圖[string]測量



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

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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