我想遍历嵌套的JSON结构,并从接口{}
获取每个键和值http://play.golang.org/p/B-B3pejGJW
所以我想从以下结构
{
"tg": {
"A": {
"E": 100,
"H": 14
},
"B": {
"D": 1
},
"C": {
"D": 1,
"E": 1
},
"D": {
"F": 1,
"G": 1,
"H": 1
},
"E": {
"G": 1
}
}
}
我能够得到以下
a := js.Get("tg").Get("D").Get("F")
fmt.Println(*a) // {1}
但是在类型上有问题时断言这是整数。
invalid type assertion: (*a).(int)
如何遍历整个结构并从字符中获取映射的每个整数?
谢谢!
答案 0 :(得分:1)
您的价值将被编组为float64
。另外,您不是访问a.data
而是访问a
,而不是访问导致错误的结构。
fmt.Printf("%#v\n", a) // &main.JSON{data:1}
fmt.Println(reflect.TypeOf(a.data)) // float64
x := int(a.data.(float64))