"sampleArray":["string value",5,{"name":"sub object"}]
type Response struct {
Version string
Data map[string][]interface{}
}
package main
import (
//"bytes"
"io/ioutil"
"net/http"
"fmt"
"encoding/json"
)
type sampleArray struct {
String string
Number int
NameMap map[string]string
}
type Response struct {
Version string
Data map[string]sampleArray
}
func main() {
var client http.Client
resp, err := client.Get("https://api.myjson.com/bins/by9gw")
if err != nil {
return
}
defer resp.Body.Close()
simpleResp := Response{}
if resp.StatusCode == http.StatusOK {
bodyBytes, err := ioutil.ReadAll(resp.Body)
if err != nil {
panic(err)
}
err = json.Unmarshal(bodyBytes,&simpleResp)
if err != nil {
panic(err)
}
sampleArr := simpleResp.Data["sampleArray"]
fmt.Println(sampleArr.NameMap["name"])
}
}
Но лучше использовать нормальный json, по возможности, где в массивах содержаться данные одного типа.