Go語言是一種現代化的開發語言,廣泛應用于Web應用程序的開發中。在Web應用程序中,我們常常需要請求其他服務或API,并獲取返回的JSON數據。Go語言提供了一個強大的庫--net/http
,可以輕松地進行HTTP請求。
在Go語言中,使用net/http
庫進行HTTP請求非常簡單。下面是一個使用http.Get
函數獲取JSON數據的示例:
resp, err := http.Get("https://jsonplaceholder.typicode.com/posts") if err != nil { log.Fatalln(err) } defer resp.Body.Close() var posts []map[string]interface{} err = json.NewDecoder(resp.Body).Decode(&posts) if err != nil { log.Fatalln(err) } fmt.Println(posts)
在上面的例子中,我們使用http.Get
函數獲取https://jsonplaceholder.typicode.com/posts
的JSON數據。如果請求成功,我們將resp.Body
中的數據解析為一個字符串數組,并存儲在posts
變量中。
要注意的是,在http.Get
函數之后調用了defer resp.Body.Close()
。這是因為resp.Body
需要在函數執行完畢后關閉,否則會導致內存泄漏。
最后,我們可以通過打印posts
變量來查看解析后的JSON數據。
總結來說,使用Go語言的net/http
庫進行HTTP請求和JSON解析非常方便。通過簡單的幾行代碼,我們就可以獲取其他服務或API返回的JSON數據。