IP不卡 发表于 2025-3-28 17:24:54

处理json


//API服务,获取请求的参数
var time = import("time")
var fmt = import("fmt")
var http = import("net/http")
var json = import("encoding/json")
var io =import("io")
var ioutil =import("io/ioutil")
var bytes = import("bytes")
var strings = import("strings")


fmt.println("启动连接。。。")
time.Sleep(2000*time.Millisecond) //可去除
// 创建POST请求
r, err = http.DefaultClient.Get("http://127.0.0.1:18089/ApiDemo")
    if err != nil {
       fmt.Println("Error creating request:", err)
       return
    }
    fmt.println("已发送post!!!")
body, err = ioutil.ReadAll(r.Body)
if err != nil {
    // 处理读取响应主体失败的情况
} else {
//查看body内容,调试用
    // 处理读取响应主体成功的情况
    // fmt.Println("\nbody返回内容:",body) // 打印响应主体的内容
    // a =strings.Replace(strings.Replace(fmt.Sprintf("%c", body)," ","", -1),"\n","", -1)
    //fmt.Println("\nbody返回内容字符:",a)

   
//返回的json转map
aa = mapinterface{}
json.Unmarshal(body,&aa)
fmt.Println("\nbody转map:",aa)
fmt.Println("\n提取map单项:")

fmt.Println("\n\njsonrpc:",aa["jsonrpc"])
fmt.Println("\nhostid:",aa["result"]["hostid"])
fmt.Println("\nhost:",aa["result"]["host"])
fmt.Println("\ninterfaceid:",aa["result"]["interfaces"]["interfaceid"])
fmt.Println("\nip:",aa["result"]["interfaces"]["ip"])
fmt.Println("\nid:",aa["id"])
}




页: [1]
查看完整版本: 处理json