Langkah untuk mendapatkan data JSON dalam Golang: Buat klien HTTP, tentukan kaedah permintaan, URL dan isi permintaan menggunakan permintaan HTTP;
Di Golang, anda boleh mendapatkan data JSON daripada REST API menggunakan pakej net/http
dengan mudah. Begini cara untuk melakukannya:
Anda perlu mencipta klien untuk membuat permintaan HTTP.
// 创建一个新的 HTTP 客户端 client := &http.Client{}
Bina permintaan HTTP, nyatakan kaedah permintaan, URL dan isi permintaan (jika perlu).
// 创建一个新的 HTTP 请求 req, err := http.NewRequest(method, url, body) if err != nil { fmt.Println(err) return }
Anda boleh menambah pengepala HTTP pada permintaan seperti yang diperlukan.
// 添加 HTTP 头 req.Header.Add("Content-Type", "application/json")
Gunakan klien untuk melaksanakan permintaan HTTP.
// 执行 HTTP 请求 resp, err := client.Do(req) if err != nil { fmt.Println(err) return }
Semak kod status respons untuk memastikan permintaan berjaya.
// 检查响应状态代码 if resp.StatusCode != http.StatusOK { fmt.Println("请求失败: ", resp.Status) return }
Gunakan penyahkod JSON untuk menyahkod respons JSON.
// 创建 JSON 解码器 decoder := json.NewDecoder(resp.Body) // 解析 JSON 响应 var data interface{} if err := decoder.Decode(&data); err != nil { fmt.Println(err) return }
Andaikata anda ingin mendapatkan data pengguna daripada JSONPlaceholder API, anda boleh menggunakan kod berikut:
func main() { // 创建 HTTP 请求 resp, err := http.Get("https://jsonplaceholder.typicode.com/users") if err != nil { fmt.Println(err) return } // 检查状态代码 if resp.StatusCode != 200 { fmt.Println(resp.Status) return } // 解析 JSON 响应 var users []map[string]interface{} decoder := json.NewDecoder(resp.Body) if err := decoder.Decode(&users); err != nil { fmt.Println(err) return } // 打印用户名称 for _, user := range users { fmt.Println(user["name"]) } }
Ini adalah cara mendapatkan data JSON dari pelayan menggunakan API REST di Golang.
Atas ialah kandungan terperinci Bagaimana untuk mendapatkan data JSON daripada pelayan menggunakan API REST di Golang?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!