В соответствии с вашей строкой JSON, некоторые вещи должны быть исправлены.Во-первых, свойство result["results"]
необходимо преобразовать в []interface{}
, поскольку results
содержит данные массива.
ids := result["results"].([]interface{})
Затем на каждой итерации ids
переменная value
(тип которойis interface{}
) необходимо привести к map[string]interface{}
, поэтому мы сможем получить доступ к свойству ID
, чтобы получить его значение.
for index, value := range ids {
valueMap := value.(map[string]interface{})
fmt.Println(index, valueMap["ID"])
}
Рабочий пример: https://play.golang.org/p/Pxq6u7q-NAK
Согласно ответу @Andrejs, если ваша структура JSON фиксирована, то было бы лучше использовать четко определенную структуру для результата (см. Ответ @ danopz). имеет лучшую производительность и потребляет меньше усилий при взаимодействии со своим ребенком.