Golang Http請求返回結(jié)果處理
在 Go 中 Http 請求的返回結(jié)果為 *http.Response 類型,Response.Body 類型為 io.Reader,把請求結(jié)果轉(zhuǎn)化為Map需要進(jìn)行一些處理。
寫一個(gè)公共方法來進(jìn)行Response轉(zhuǎn)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) }
到此這篇關(guān)于Golang Http請求返回結(jié)果處理的文章就介紹到這了,更多相關(guān)Golang Http請求返回結(jié)果內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
GO比較兩個(gè)對象是否相同實(shí)戰(zhàn)案例
我們時(shí)常有比較兩個(gè)值是否相等的需求,下面這篇文章主要給大家介紹了關(guān)于GO比較兩個(gè)對象是否相同的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2022-12-12