首页  >  文章  >  后端开发  >  如何在 Golang 中从 HTTP 响应中解析 JSON 数据?

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

WBOY
WBOY原创
2024-06-03 13:26:57371浏览

在 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 数据。

以上是如何在 Golang 中从 HTTP 响应中解析 JSON 数据?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn