Golang用DYNAMIC键解析json

时间:2013-08-23 21:26:36

标签: go

我有一个json字符串如下:

j := `{"bvu62fu6dq": {
           "name": "john",
           "age": 23,
           "xyz": "weu33s"
           .....
           .....}
      }`

我想从json字符串中提取nameage的值。我查看了golang网站http://play.golang.org/p/YQgzP7KPp9

中给出的这个例子

但我的问题是顶级json的关键是动态的。这意味着bvu62fu6dq是动态的。我创建了这样的结构:

 type Info struct {
   UniqueID map[string]string
 }

但不确定如何提取nameage。我的代码位于http://play.golang.org/p/Vbdkd3XIKc

1 个答案:

答案 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)

完整示例:http://play.golang.org/p/FyH-cDp3Na