在 Golang 中,可以透過以下步驟從 URL 載入 JSON 資料:匯入必要包。使用 http.Get 取得回應。關閉響應體。讀取並轉換為位元組切片。解碼位元組切片為 JSON 資料結構。
如何在Golang 中從URL 載入JSON 資料
在Golang 中載入JSON 資料非常簡單,下面我們介紹如何從URL 載入JSON 數據,並提供一個實戰案例。
步驟:
匯入必要的套件:
import ( "encoding/json" "fmt" "io/ioutil" "log" "net/http" )
使用http. Get
函數取得資料的反應:
resp, err := http.Get("https://example.com/data.json") if err != nil { log.Fatal(err) }
在defer resp.Body.Close()
延遲函數中關閉反應體:
defer resp.Body.Close()
使用ioutil.ReadAll
讀取回應體並將其轉換為位元組切片:
body, err := ioutil.ReadAll(resp.Body) if err != nil { log.Fatal(err) }
將位元組切片解碼為JSON 資料結構:
var data map[string]interface{} if err := json.Unmarshal(body, &data); err != nil { log.Fatal(err) }
#實戰案例:
以下是從JSONPlaceholder API 載入職員資料的實戰案例:
package main import ( "encoding/json" "fmt" "io/ioutil" "log" "net/http" ) func main() { resp, err := http.Get("https://jsonplaceholder.typicode.com/users") if err != nil { log.Fatal(err) } defer resp.Body.Close() body, err := ioutil.ReadAll(resp.Body) if err != nil { log.Fatal(err) } var users []map[string]interface{} if err := json.Unmarshal(body, &users); err != nil { log.Fatal(err) } for _, user := range users { fmt.Printf("Name: %s, Email: %s\n", user["name"], user["email"]) } }
這個案例顯示如何載入使用者清單並遍歷和列印每個使用者的姓名和電子郵件地址。
以上是如何在 Golang 中從 URL 載入 JSON 資料?的詳細內容。更多資訊請關注PHP中文網其他相關文章!