У меня возникли проблемы с демаршалингом данных json в формате ниже в структуру. Структура json кажется мне немного запутанной, поэтому приношу свои извинения за все глупости, которые я делаю, чтобы разобрать его.
{
"message": {
"Server1.example.com": [
{
"application": "Apache",
"host": {
"name": "/^Server-[13456]/"
},
"owner": "User1",
"project": "Web",
"subowner": "User2"
}
],
"Server2.example.com": [
{
"application": "Mysql",
"host": {
"name": "/^Server[23456]/"
},
"owner": "User2",
"project": "DB",
"subowner": "User3"
}
]
},
"response_ms": 659,
"success": true
}
Я пытаюсь демаршалировать его, используя следующую структуру.
type ServerDetails struct {
Message struct{
Hostname struct{
Details struct{
Application string `json:"application"`
}`json:"-"`
}`json:"-"`
}`json:"message"`
}
Поля Server[0-9].example.com
будут неизвестны во время генерации и будут меняться, и есть это поле
{
"application": "Apache",
"host": {
"name": "/^Server-[13456]/"
},
сразу после имени сервера, у которого нет ключа снаружи, что снова меня сбивает с толку. Я попробовал большое количество комбинаций, чтобы понять, как это можно разобрать, но у меня ничего не вышло.
Каков рабочий подход к демаршалированию полей json в структуру?
map[string]whateverstruct
, чтобы демаршалировать объекты с различными ключами. - person Volker   schedule 09.11.2016