【Golang】Http请求返回结果处理

Go语言 小铁匠 2020-05-04

在 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)
}
------ 本文结束 感谢阅读 ------
推荐阅读
相信各位最近突然发现自己编写的go语言代码,在编译运行的时候异常缓慢,哪怕是最简单的新手代码(比如Hello World)也需要编译运行十几秒以上,如下所示。
Go语言 2025-09-03
在Go中实现AES/ECB/PKCS5Padding加解密需要注意以下几点
Go语言 小铁匠 2025-08-21
Go语言中的内存管理机制详解
Go语言 2023-11-17
想做一个go的公共助手包,但涉及公司业务逻辑不能放在公有仓库,只能引入私有仓库。
Go语言 小铁匠 2023-12-25
在使用v2.6的goFrame框架使用redis时报错问题解决
Go语言 小铁匠 2024-01-16