структура Голанга для JSON с произвольными ключами
Я пытаюсь написать тип структуры, который может обрабатывать ответ JSON, как это
{"items":
[{"name": "thing",
"image_urls": {
"50x100": [{
"url": "http://site.com/images/1/50x100.jpg",
"width": 50,
"height": 100
}, {
"url": "http://site.com/images/2/50x100.jpg",
"width": 50,
"height": 100
}],
"200x300": [{
"url": "http://site.com/images/1/200x300.jpg",
"width": 200,
"height": 300
}],
"400x520": [{
"url": "http://site.com/images/1/400x520.jpg",
"width": 400,
"height": 520
}]
}
}
Поскольку ключи не всегда одинаковы ... в другом ответе может быть больше или меньше ключей, разных, и, как вы можете видеть с 50x100, возвращает несколько изображений для определенного размера, как я могу создать структуру, которая соответствует этому?
Я могу сделать как:
type ImageURL struct {
Url string
Width, Height int
}
для отдельного элемента и список их для конкретного ключа. Но как выглядит содержащая структура?
Что-то вроде:
type Images struct {
50x100 []ImageURL
...
}
type Items struct {
name string
Image_Urls []Images
}
Может сработать, но я не могу перечислить все возможные ответы по размеру изображения. Кроме того, что Image_Urls в конце нет действительно списка. Я хотел бы иметь возможность свалить его прямо в json.Unmarshal, если это возможно.