go json 数据 不确定结构打印
普通打印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)
}
}
判断返回数据包含哪个内容
// 将 body 转换为字符串
bodyStr := string(body)
// 检查是否包含关键字 "皇帝"
if strings.Contains(bodyStr, "皇帝") {
fmt.Println("检测到关键字 '皇帝',程序退出。")
os.Exit() // 使用非零退出码表示异常退出
}
打印json字符串某个值
其它
本文来自博客园,作者:__username,转载请注明原文链接:https://www.cnblogs.com/code3/p/18640996