在golang中進行GET請求并處理JSON數據是很普遍的一個操作。下面我們來演示一下。
import (
"net/http"
"encoding/json"
"log"
)
type ResponseStruct struct {
Title string `json:"title"`
Description string `json:"description"`
}
func main() {
url := "https://jsonplaceholder.typicode.com/posts/1"
r, err := http.Get(url)
if err != nil {
log.Fatal(err)
}
defer r.Body.Close()
var responseStruct ResponseStruct
if err := json.NewDecoder(r.Body).Decode(&responseStruct); err != nil {
log.Fatal(err)
}
log.Printf("Title: %v", responseStruct.Title)
log.Printf("Description: %v", responseStruct.Description)
}
代碼中我們定義了一個ResponseStruct
類型,用于存儲JSON數據的解析結果。在main
函數中發送了一個GET請求,得到一個包含JSON數據的響應。我們使用json.NewDecoder(r.Body).Decode(&responseStruct)
對響應體進行解析,并將結果存儲在responseStruct
變量中。最后我們輸出了標題和描述,驗證程序是否正確解析了JSON。
通過這個例子,我們學習了golang中GET請求和JSON數據的解析。更多HTTP和JSON操作可以參考golang官方文檔。