在Go語言中,我們可以使用http包來發送http請求,同時也可以使用encoding/json包來解析json數據。下面我們來看一下如何通過http包發送請求,并使用json包解析返回的json數據。
首先我們需要用http包發送GET請求,獲取到響應數據:
import ( "net/http" "io/ioutil" ) resp, err := http.Get("https://example.com/api/data") if err != nil { // 處理錯誤 } defer resp.Body.Close() data, err := ioutil.ReadAll(resp.Body) if err != nil { // 處理錯誤 }
上面的代碼會向"https://example.com/api/data"發送GET請求,獲取到響應數據。然后使用ioutil包中的ReadAll函數,將響應數據讀取到data變量中。
接下來,我們需要使用json包解析返回的json數據:
import "encoding/json" type Response struct { Name string `json:"name"` Value int `json:"value"` } var respData Response err = json.Unmarshal(data, &respData) if err != nil { // 處理錯誤 }
上面的代碼中,我們定義了一個結構體Response,用來存儲json數據中的"name"和"value"字段。然后使用json.Unmarshal函數,將data變量中的json數據反序列化到respData變量中。
現在,我們就可以使用respData變量中的數據了:
fmt.Printf("Name: %s, Value: %d", respData.Name, respData.Value)
上面的代碼會輸出Response結構體中的"name"和"value"字段。