Go cannot range over <my var> (type interface {})
The defaults that the json package will decode into when the type isn't declared are:
bool, for JSON booleans
float64, for JSON numbers
string, for JSON strings
[]interface{}, for JSON arrays
map[string]interface{}, for JSON objects
nil for JSON null
Since each record
is (in your example) a json object, you can assert each one as a map[string]interface{}
like so:
for _, record := range view {
log.Printf(" [===>] Record: %s", record)
if rec, ok := record.(map[string]interface{}); ok {
for key, val := range rec {
log.Printf(" [========>] %s = %s", key, val)
}
} else {
fmt.Printf("record not a map[string]interface{}: %v\n", record)
}
}