一尘不染

Golang用DYNAMIC键解析json

go

我有一个json字符串,如下所示:

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

我想从上面的json字符串中提取nameand
的值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


阅读 255

收藏
2020-07-02

共1个答案

一尘不染

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

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

2020-07-02