Я новичок в го.Я пытаюсь прочитать файл JSON и получить его часть, а затем оперировать полученными значениями.Мой JSON находится в файле example.json:
{"results":[{"statement_id":0,"series":[{"name":"cpu/node_utilization","columns":["time","distinct"],"values":[[10,1],[11,3],[13,5]]}]}]}
Так что я хотел бы получить "значения" для получения суммы всех элементов.В этом случае: 1 + 3 + 5
Вот код, который у меня есть.Я могу получить результаты, но потом мне не удается получить серию.
Вот код, который у меня есть:
package main
import (
"encoding/json"
"fmt"
"io/ioutil"
"os"
)
func main() {
// Open our jsonFile
jsonFile, err := os.Open("example.json")
// if we os.Open returns an error then handle it
if err != nil {
fmt.Println(err)
}
fmt.Println("Successfully Opened example.json")
// defer the closing of our jsonFile so that we can parse it later on
defer jsonFile.Close()
byteValue, _ := ioutil.ReadAll(jsonFile)
var all_data map[string]interface{}
json.Unmarshal([]byte(byteValue), &all_data)
fmt.Println(all_data["results"])
}
Я пробовал разные решения, такие какall_data["results"].(map[string]interface{})["series"])
Но проблема в том, что карта находится в массиве, и я не знаю, как ее решить.