这篇“Golang Http请求返回结果如何处理”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Golang Http请求返回结果如何处理”文章吧。
在 Go 中 Http 请求的返回结果为 *http.Response 类型,Response.Body 类型为 io.Reader,把请求结果转化为Map需要进行一些处理。
写一个公共方法来进行Response转Map处理:
package util import ( "encoding/json" "net/http" "io/ioutil" ) func ParseResponse(response *http.Response) (map[string]interface{}, error){ var result map[string]interface{} body,err := ioutil.ReadAll(response.Body) if err == nil { err = json.Unmarshal(body, &result) } return result,err }
然后就可以在请求后使用:
req := http.NewRequest("GET", "http://test.com", nil) req.Header.Set("Content-type", "application/json") client := &http.Client{} response,err := client.Do(req) if err == nil { // 解析Response returnMap,err := util.ParseResponse(response) }