golang基础---嵌套结构体
如下json返回值该如何解析?{"status": "success","data": {"resultType": "matrix","result": [{"metric": {"pod_name": "prometheus-k8s"},"values": [
·
如下json返回值该如何解析?
{
"status": "success",
"data": {
"resultType": "matrix",
"result": [
{
"metric": {
"pod_name": "prometheus-k8s"
},
"values": [
[
1612254395,
"40969232384"
],
[
1612254995,
"39823257600"
]
]
}
]
}
}
首先要构造出合适的结构体,根据以上返回值构造结构体如下:
// prometheus 响应体
type VectorResponse struct {
Status string `json:"status"`
Data PrometheusData `json:"data"`
}
type PrometheusData struct {
ResultType string `json:"resultType"`
Result []Vector `json:"result"`
}
type Vector struct {
Metric map[string]string `json:"metric"`
Value [][]interface{} `json:"values"`
}
将json字符串转换成以上自定义的数据结构
var response VectorResponse
err = json.Unmarshal(data, &response)
if err != nil {
fmt.Errorf("failed to unmarshal response: %v", err)
}
更多推荐
已为社区贡献6条内容
所有评论(0)