0
我用我golang項目走,杜松子酒服務器,並取出由返回數組作爲響應如何攔截在數組中的REST API響應去,杜松子酒
[
{
"Continent": "South America",
"Countries": [
{
"Country": "Argentina"
}
]
}
]
在外部API的一些數據我這裏golang代碼是怎麼了發送請求和響應截取
client := &http.Client{Transport: tr}
rget, _ := http.NewRequest("GET", "http://x.x.x.x/v1/geodata", nil)
resp, err := client.Do(rget)
if err != nil {
fmt.Println(err)
fmt.Println("Failed to send request")
}
defer resp.Body.Close()
respbody, err := ioutil.ReadAll(resp.Body)
c.Header("Content-Type", "application/json")
c.JSON(200, string(respbody))
這給當期的響應,但不是一個數組我得到與整個陣列的字符串。所以我得到的迴應是
"[{\"Continent\":\"South America\",\"Countries\": [{\"Country\": \"Argentina\"} ] } ]"
如何攔截響應數組而不是字符串? 我甚至嘗試了以下給了我一個數組,但一個空白的。我的響應正文中的元素可能是數組以及字符串,因此內容是混合的。
type target []string
json.NewDecoder(resp.Body).Decode(target{})
defer resp.Body.Close()
c.Header("Content-Type", "application/json")
c.JSON(200, target{})
的可能的複製[如何獲得JSON響應Golang](http://stackoverflow.com/questions/17156371/how-to-get-json-response-in-golang) – Carpetsmoker
我試過這個。添加更多詳細信息 – aaj
您的JSON不代表字符串數組。嘗試'輸入target [] interface {}'。 –