структура Голанга для 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, если это возможно.

Ответы на вопрос(1)

Ваш ответ на вопрос