package main
import (
"encoding/json"
"fmt"
"io/ioutil"
"log"
"net/http"
)
func main() {
// API 地址
url := "https://jsonplaceholder.typicode.com/posts/1"
// 发起 GET 请求
resp, err := http.Get(url)
if err != nil {
log.Fatalf("HTTP 请求失败: %v", err)
}
defer resp.Body.Close()
// 检查 HTTP 响应状态
if resp.StatusCode != http.StatusOK {
log.Fatalf("HTTP 请求失败,状态码: %d", resp.StatusCode)
}
// 读取响应体
body, err := ioutil.ReadAll(resp.Body)
if err != nil {
log.Fatalf("读取响应体失败: %v", err)
}
// 打印原始 JSON 数据
fmt.Println("原始 JSON 数据:")
fmt.Println(string(body))
// 动态解析 JSON 数据
var data map[string]interface{}
if err := json.Unmarshal(body, &data); err != nil {
log.Fatalf("解析 JSON 数据失败: %v", err)
}
//fmt.Println(data["id"])
// 打印解析后的数据
fmt.Println("\n解析后的数据:")
for key, value := range data {
fmt.Printf("%s: %v\n", key, value)
}
}
来源链接:https://www.cnblogs.com/code3/p/18640996
没有回复内容