go json 数据 不确定结构打印-数字孪生牛翰社区-数据算法-牛翰网

go json 数据 不确定结构打印

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

请登录后发表评论

    没有回复内容