#arrays #json #go
#массивы #json #Вперед
Вопрос:
Я пытаюсь проанализировать json, чтобы перейти на язык lang, но каким-то образом объект возвращается пустым:
Объект Json:
`{
"names": [
{
"David": {
"id": "100",
"country": "usa",
"group": [
"A1",
"A2"
]
}
},
{
"John": {
"id": "1",
"country": "uk",
"group": [
"A1",
"A2"
]
}
}
]
}`
Структура GoLang:
type Data struct {
Names []Names `json:"names"`
}
type Names struct {
ID string `json:"id"`
Country string `json:"country"`
Group []string `json:"group"`
}
Проблема в том, что массив содержит 2 элемента David,John, и каким-то образом он возвращает пустой объект, поскольку у анализатора возникли проблемы с извлечением строк David,John
Комментарии:
1. Привет, не могли бы вы предоставить пример кода, который десериализует этот JSON?
Ответ №1:
Неверно указано поле struct Data's
Names
. Это map[string]Names
скорее []Names
фрагмент. Так что просто измените его на:
Names []map[string]Names `json:"names"`
Проверьте полный исполняемый код на https://play.golang.org/p/IDU0jANRbBn.
Комментарии:
1. Отличный его уокинг, массив строк, карта