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