我正在尝试使用 Golang 和 JSON 尝试使用从 Graphite API 中提取的数据进行一些计算。
为简单起见,Graphite 发送的数据片段是:
[
{
"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
]
]
}
]
我一直在阅读有关如何对 JSON 任意数据使用通用接口{}的 go json 教程,但我在该过程的某些方面遇到了困难。
我试图定义一个结构来保存这些数据,读取文件内容并将其解组到这个结构中:
type Graphite struct {
Metric struct {
Target string `json:"target"`
Datapoints [][]float64 `json:"datapoints"`
}
}
var results []Graphite
err = json.Unmarshal(d, &r)
if err != nil {
panic(err)
}
fmt.Printf("%v\n", r)
但结果是:
[{{ []}} {{ []}}]
我当然可以使用通用接口来完成它{},但我想知道我在这里遗漏了什么。
请你帮助我好吗?
蝴蝶不菲
相关分类