在Go語言中,發送HTTP GET請求并獲取JSON數據是非常常見的任務。使用標準庫中的net/http和encoding/json包可以很容易地完成這個任務。
首先,需要導入net/http和encoding/json包:
import ( "net/http" "encoding/json" )
接下來,在代碼中使用http.Get函數發送HTTP GET請求并讀取響應。在獲取響應后,將響應JSON解碼為結構體。
type User struct { Name string `json:"name"` Age int `json:"age"` } func main() { resp, err := http.Get("https://example.com/users") if err != nil { panic(err) } defer resp.Body.Close() var users []User err = json.NewDecoder(resp.Body).Decode(&users) if err != nil { panic(err) } fmt.Printf("%+v", users) }
在這個示例中,我們發送一個HTTP GET請求并讀取響應。我們然后使用json.NewDecoder函數將響應JSON解碼為一個User結構體的切片。
最后,我們可以使用fmt.Printf函數輸出我們獲取到的用戶數據,以方便調試。
總之,對于從API中獲取JSON數據的任務,Go語言與其標準庫中的net/http和encoding/json包提供了非常方便的解決方案,無需使用第三方庫即可完成。