如何在 Golang 中从 HTTP 响应中解析 JSON 数据?

admin 阅读:176 2024-05-19

在 go 中解析 json 响应:使用 encoding/json 包的 unmarshal 函数。创建一个目标结构,代表 json 数据。读取 http 响应体并解析 json 数据。打印或使用解析后的数据。

如何在 Golang 中从 HTTP 响应中解析 JSON 数据?

如何在 Golang 中从 HTTP 响应中解析 JSON 数据

在 Golang 中,可以通过使用 encoding/json 包解析 HTTP 响应中的 JSON 数据。该包提供了一个 Unmarshal 函数,它将 JSON 编码的数据解码到目标结构中。

代码示例:

package main

import (
    "encoding/json"
    "fmt"
    "net/http"
    "io/ioutil"
)

func main() {
    // 创建一个 HTTP 客户端
    client := &http.Client{}

    // 发送一个 GET 请求
    resp, err := client.Get("https://example.com/api/data")
    if err != nil {
        fmt.Println(err)
        return
    }
    defer resp.Body.Close()

    // 读取响应体
    body, err := ioutil.ReadAll(resp.Body)
    if err != nil {
        fmt.Println(err)
        return
    }

    // 创建一个目标结构
    type Data struct {
        Name string
        Age  int
    }
    var data Data

    // 解析 JSON 数据
    if err := json.Unmarshal(body, &data); err != nil {
        fmt.Println(err)
        return
    }

    // 打印解析后的数据
    fmt.Println(data)
}

实战案例:

这个示例从一个示例 API(https://example.com/api/data)中检索 JSON 数据,并将其解析到一个 Data 结构中。然后,它会打印解析后的数据。

你可以通过使用自己喜欢的 IDE 或文本编辑器创建一个新文件(例如 main.go),并粘贴上面的代码。然后,你可以运行以下命令来编译和执行程序:

go run main.go

这将输出解析后的 JSON 数据。

声明

1、部分文章来源于网络,仅作为参考。
2、如果网站中图片和文字侵犯了您的版权,请联系1943759704@qq.com处理!