Golang用DYNAMIC键解析json

JVK*_*JVK 32 go

我有一个json字符串如下:

j := `{"bvu62fu6dq": {
           "name": "john",
           "age": 23,
           "xyz": "weu33s"
           .....
           .....}
      }`
Run Code Online (Sandbox Code Playgroud)

我想从json字符串中提取nameage从中提取值.我看了golang网站http://play.golang.org/p/YQgzP7KPp9给出的这个例子

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

 type Info struct {
   UniqueID map[string]string
 }
Run Code Online (Sandbox Code Playgroud)

但不知道如何提取nameage.我的代码在http://play.golang.org/p/Vbdkd3XIKc

Gus*_*yer 47

我相信你想要这样的东西:

type Person struct {
    Name string `json:"name"`
    Age  int    `json:"age"`
}

type Info map[string]Person
Run Code Online (Sandbox Code Playgroud)

然后,解码后这工作:

fmt.Printf("%s: %d\n", info["bvu62fu6dq"].Name, info["bvu62fu6dq"].Age)
Run Code Online (Sandbox Code Playgroud)

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

  • 当然,信息是一张普通的地图.您可以像往常一样迭代所有键或访问任何特定键 (8认同)