Я пытаюсь написать тип структуры, который может обрабатывать 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, если это возможно.