在 golang 中,可以通过以下步骤从 url 加载 json 数据:导入必要包。使用 http.get 获取响应。关闭响应体。读取并转换为字节切片。解码字节切片为 json 数据结构。

如何在 Golang 中从 URL 加载 JSON 数据
在 Golang 中加载 JSON 数据非常简单,下面我们介绍如何从 URL 加载 JSON 数据,并提供一个实战案例。
步骤:
立即学习“go语言免费学习笔记(深入)”;
导入必要的包:
import ( "encoding/json" "fmt" "io/ioutil" "log" "net/http" )
使用 http.Get 函数获取数据的响应:
resp, err := http.Get("https://example.com/data.json")
if err != nil {
log.Fatal(err)
}在 defer resp.Body.Close() 延迟函数中关闭响应体:
defer resp.Body.Close()
使用 ioutil.ReadAll 读取响应体并将其转换为字节切片:
body, err := ioutil.ReadAll(resp.Body)
if err != nil {
log.Fatal(err)
}将字节切片解码为 JSON 数据结构:
var data map[string]interface{}
if err := json.Unmarshal(body, &data); err != nil {
log.Fatal(err)
}实战案例:
以下是一个从 JSONPlaceholder API 加载职员数据的实战案例:
package main
import (
"encoding/json"
"fmt"
"io/ioutil"
"log"
"net/http"
)
func main() {
resp, err := http.Get("https://jsonplaceholder.typicode.com/users")
if err != nil {
log.Fatal(err)
}
defer resp.Body.Close()
body, err := ioutil.ReadAll(resp.Body)
if err != nil {
log.Fatal(err)
}
var users []map[string]interface{}
if err := json.Unmarshal(body, &users); err != nil {
log.Fatal(err)
}
for _, user := range users {
fmt.Printf("Name: %s, Email: %s\n", user["name"], user["email"])
}
}这个案例展示了如何加载用户列表并遍历和打印每个用户的姓名和电子邮件地址。
以上就是如何在 Golang 中从 URL 加载 JSON 数据?的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号