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

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

Golang 上的 JSON - 解組石墨數(shù)據(jù)

Golang 上的 JSON - 解組石墨數(shù)據(jù)

Go
富國滬深 2021-09-20 20:41:10
我正在嘗試使用 Golang 和 JSON 嘗試使用從 Graphite API 中提取的數(shù)據(jù)進行一些計算。為簡單起見,Graphite 發(fā)送的數(shù)據(jù)片段是:[{    "target": "server1.loadavg.1min",    "datapoints": [        [            0.16,            1422770850        ],        [            0.16,            1422770880        ],        [            null,            1422771120        ]    ]},{    "target": "server2.loadavg.1min",    "datapoints": [        [            0.19,            1422770850        ],        [            null,            1422771390        ],        [            0.14,            1422771420        ]    ]}]我一直在閱讀有關(guān)如何對 JSON 任意數(shù)據(jù)使用通用接口{}的 go json 教程,但我在該過程的某些方面遇到了困難。我試圖定義一個結(jié)構(gòu)來保存這些數(shù)據(jù),讀取文件內(nèi)容并將其解組到這個結(jié)構(gòu)中:type Graphite struct {  Metric struct {    Target     string      `json:"target"`    Datapoints [][]float64 `json:"datapoints"`  }}var results []Graphiteerr = json.Unmarshal(d, &r)if err != nil {    panic(err)}fmt.Printf("%v\n", r)但結(jié)果是:[{{ []}} {{ []}}]我當然可以使用通用接口來完成它{},但我想知道我在這里遺漏了什么。請你幫助我好嗎?
查看完整描述

2 回答

?
蝴蝶不菲

TA貢獻1810條經(jīng)驗 獲得超4個贊

我喜歡從最簡單的類型開始,然后努力解決問題。首先,您需要表示您的數(shù)據(jù)點。


type DataPoint []float64


那么度量只是一個目標和一系列數(shù)據(jù)點。


type Metric struct {

    Target string      `json:"target"`

    Points []DataPoint `json:"datapoints"`

}

不需要你的Graphite結(jié)構(gòu)。你的 JSON 只是一個Metrics的 JSON 數(shù)組。


var results []Metric

err := json.Unmarshal([]byte(data), &results)

這是一個帶有完整示例的操場鏈接。


查看完整回答
反對 回復(fù) 2021-09-20
  • 2 回答
  • 0 關(guān)注
  • 262 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

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