我不知道如何在 Go 中解码这个 JSON。地图返回零。Unmarshal 从内存中工作,但最终我可能需要一个流。另外,我需要获取 Foo、Bar 和 Baz 键名。不确定那个。JSON:{ "Foo" : {"Message" : "Hello World 1", "Count" : 1}, "Bar" : {"Message" : "Hello World 2", "Count" : 0}, "Baz" : {"Message" : "Hello World 3", "Count" : 1} }代码:package mainimport ( "encoding/json" "fmt" "os")type Collection struct { FooBar map[string]Data}type Data struct { Message string `json:"Message"` Count int `json:"Count"`}func main() { //will be http file, err := os.Open("stream.json") if err != nil { panic(err) } decoder := json.NewDecoder(file) var c Collection err = decoder.Decode(&c) if err != nil { panic(err) } for key, value := range c.FooBar { fmt.Println("Key:", key, "Value:", value) } //returns empty map fmt.Println(c.FooBar)}
1 回答
- 1 回答
- 0 关注
- 189 浏览
添加回答
举报
0/150
提交
取消