Подтвердить что ты не робот

Golang разобрать json с ключом DYNAMIC

У меня есть строка json:

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

Я хочу извлечь значение name и age из строки json. Я посмотрел на этот пример, приведенный на сайте golang http://play.golang.org/p/YQgzP7KPp9

Но моя проблема заключается в том, что ключ в json на верхнем уровне является динамическим. Это означает, что bvu62fu6dq является динамическим. Я создал структуру следующим образом:

 type Info struct {
   UniqueID map[string]string
 }

Но не уверен, как извлечь name и age. Мой код находится в http://play.golang.org/p/Vbdkd3XIKc

4b9b3361

Ответ 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