我有一个json字符串如下:
j := `{"bvu62fu6dq": {
"name": "john",
"age": 23,
"xyz": "weu33s"
.....
.....}
}`
我想从json字符串中提取name
和age
的值。我查看了golang网站http://play.golang.org/p/YQgzP7KPp9
但我的问题是顶级json的关键是动态的。这意味着bvu62fu6dq
是动态的。我创建了这样的结构:
type Info struct {
UniqueID map[string]string
}
但不确定如何提取name
和age
。我的代码位于http://play.golang.org/p/Vbdkd3XIKc
答案 0 :(得分:44)
我相信你想要这样的东西:
type Person struct {
Name string `json:"name"`
Age int `json:"age"`
}
type Info map[string]Person
然后,解码后,这个工作:
fmt.Printf("%s: %d\n", info["bvu62fu6dq"].Name, info["bvu62fu6dq"].Age)