构建HTTP请求-example-如何处理API函数返回的JSON数据
一、构建HTTP请求
构建HTTP请求在Go语言中非常简单,主要使用标准库中的`net/http`包。下面是具体的步骤:- 导入必要的包:
```go import ( "net/http" "io/ioutil" ) ```
- 创建请求对象:
```go req, err := http.NewRequest("GET", "http://example.com/api", nil) if err != nil { // 处理错误 } ```
- 设置请求头:
```go req.Header.Set("Content-Type", "application/json") ```
二、发送HTTP请求
构建好请求对象后,就可以发送请求了:- 使用`http.Client`发送请求:
```go client := &http.Client{} resp, err := client.Do(req) if err != nil { // 处理错误 } ```
三、处理HTTP响应
服务器返回的响应需要被处理:- 检查响应状态码:
```go if resp.StatusCode == http.StatusOK { // 请求成功 } else { // 请求失败 } ```
- 读取响应体:
```go body, err := ioutil.ReadAll(resp.Body) if err != nil { // 处理错误 } ```
- 处理错误:
```go if err != nil { // 处理错误 } ```
四、解析响应数据
响应数据通常是JSON格式,需要解析:- 定义结构体:
```go type ApiResponse struct { Data []struct { Name string `json:"name"` Age int `json:"age"` } `json:"data"` } ```
- 解析JSON数据:
```go var apiResponse ApiResponse err := json.Unmarshal(body, &apiResponse) if err != nil { // 处理错误 } ```