да я ступил со структурой. Сделал правильно, но теперь почему то если получать данные из функции
type AutoGenerated struct {
	ID     string `json:"id"`
	Result struct {
		Maps struct {
			Test []struct {
				Value int `json:"Value"`
			} `json:"*Test"`
		} `json:"Maps"`
		Disabled bool `json:"Disabled"`
	} `json:"result"`
	Error interface{} `json:"error"`
}
func getTest(param1 string) string {
	var jsonStr = []byte(fmt.Sprintf(`{"id":"0", "jsonrpc":"2.0", "method":"getTest", "params":[{"Param":"%s"}]}`, param1))
	req, err := http.NewRequest("POST", "Some Url", bytes.NewBuffer(jsonStr))
	req.Header.Set("Content-Type", "application/json")
	client := &http.Client{}
	resp, err := client.Do(req)
	if err != nil {
		log.Error(err)
		panic(err.Error())
	}
	defer resp.Body.Close()
	body, _ := ioutil.ReadAll(resp.Body)
	var data AutoGenerated
	err = json.Unmarshal(body, &data)
	fmt.PrintLn(data.Result.Maps.Test[0].Value)
         fmt.PrintLn(data.Result.Maps.Test)
}
fmt.PrintLn(data.Result.Maps.Test) возвращает [{6325}]
А fmt.PrintLn(data.Result.Maps.Test[0].Value) возвращает
http: panic serving 127.0.0.1:49180: runtime error: index out of range
хотя такой код отрабатывает без ошибок
package main
import (
  "encoding/json"
  "fmt"
)
func main() {
  var jsonBlob = []byte(`
  {"id": "0",
"result":{
  "Maps":{
    "*Test":[
      {"Value": 6325}
    ]
  },
  "Disabled": false
},
"error": null
}`)
type AutoGenerated struct {
	ID     string `json:"id"`
	Result struct {
		Maps struct {
			Test []struct {
				Value int `json:"Value"`
			} `json:"*Test"`
		} `json:"Maps"`
		Disabled bool `json:"Disabled"`
	} `json:"result"`
	Error interface{} `json:"error"`
}
  var species AutoGenerated 
  err := json.Unmarshal(jsonBlob, &species)
  if err != nil {
    fmt.Println("error:", err)
  }
  fmt.PrinДт(species.Result.Maps.Test[0].Value)
}