我有一个json字符串,如下所示:
j := `{"bvu62fu6dq": { "name": "john", "age": 23, "xyz": "weu33s" ..... .....} }`
我想从上面的json字符串中提取nameand 的值age。我看了在golang网站http://play.golang.org/p/YQgzP7KPp9上给出的示例
name
age
但是我的问题是json在顶层的关键是动态的。这意味着bvu62fu6dq是动态的。我创建了这样的结构:
bvu62fu6dq
type Info struct { UniqueID map[string]string }
但不确定如何提取name和提取age。我的代码在http://play.golang.org/p/Vbdkd3XIKc
我相信你想要这样的东西:
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)
完整示例:http://play.golang.org/p/FyH- cDp3Na