go http.Post 请求接口 接口返回json 格式数据 我该怎么解析
时间: 2024-04-10 08:31:31 浏览: 143
你可以使用 Go 语言中的 `json` 包来解析返回的 JSON 格式数据。下面是一个示例代码:
```go
package main
import (
"encoding/json"
"fmt"
"io/ioutil"
"net/http"
)
type Response struct {
Message string `json:"message"`
Data struct {
ID int `json:"id"`
Name string `json:"name"`
} `json:"data"`
}
func main() {
url := "http://example.com/api/endpoint" // 替换为你的接口地址
// 发送 POST 请求
resp, err := http.Post(url, "application/json", nil)
if err != nil {
fmt.Println("请求失败:", err)
return
}
defer resp.Body.Close()
// 读取响应内容
body, err := ioutil.ReadAll(resp.Body)
if err != nil {
fmt.Println("读取响应失败:", err)
return
}
// 解析 JSON
var response Response
err = json.Unmarshal(body, &response)
if err != nil {
fmt.Println("解析 JSON 失败:", err)
return
}
// 输出解析结果
fmt.Println("Message:", response.Message)
fmt.Println("ID:", response.Data.ID)
fmt.Println("Name:", response.Data.Name)
}
```
在上面的代码中,我们定义了一个 `Response` 结构体来表示接口返回的 JSON 数据的结构。使用 `json.Unmarshal` 函数将 JSON 数据解析到这个结构体中,然后就可以方便地访问解析后的数据了。
你需要根据实际接口返回的 JSON 数据结构定义 `Response` 结构体,并根据需要访问相应的字段。
阅读全文