Я анализирую JSON из API в структуру. Мой код, представляющий структуру, не работает, и я заметил, что это потому, что API возвращает массивы переменной глубины (например, иногда [] float64, иногда [] [] float64). Я не знаю, как спроектировать структуру, чтобы справиться с этим.
Я попытался возиться с моим определением структуры, поменяв местами сбойный тип между [] float64, [] [] float64 и [] interface {}.
Мой код для моего определения структуры:
...
Geometries []struct {
Type string `json:"type"`
Coordinates []float64 `json:"coordinates"`
} `json:"geometries"`
...
Ниже приведен пример вывода из API:
...
"geometries": [{"type": "Point", "coordinates": [-81.7046006, 41.4955689]}, {"type": "Polygon", "coordinates": [[[-81.7176885, 41.507513], [-81.7205424, 41.4857622], [-81.6915158, 41.4836231], [-81.6886557, 41.5053737], [-81.7176885, 41.507513]]]}]
...
Я ожидаю, что JSON проанализирует структуру. Вместо этого я вижу следующую ошибку с кодом:
json: cannot unmarshal array into Go struct field .coordinates of type float64