1.你要访问的url
2.读取resp的body
req, err := http.NewRequest("GET", dest_version_url,nil)cookie := &http.cookie{name:"token",Value:"ehqhiqhiuhw82231bjbasaass"}req.Addcookie(cookie)clIEnt := &http.ClIEnt{}resp, err := clIEnt.Do(req)if err != nil{ panic(err)}defer resp.Body.Close()body, err := IoUtil.ReadAll(resp.Body)if err != nil { fmt.Println("ERROR!: ", err)}Jsondata := string(body)
解析Json数据你事先知道要传送Json的格式,你想从Json中提取你想要的东西1. 定义 Json数组对应的结构体,整体对应slice
2.使用 Json Unmarshal将Json字符串解码到相应的数据结构
3.你不想获取某些字段,可以把某些字段开头小写
type Server_info struct { Server_name string Server_IP string Server map[string]string ClIEnt map[string]string}type Server_Info_Slice struct { RectCode int Server_info []Server_info}func main() { var serverList_Str = `{"retcode":0,"server_info":[{"server_name":"112","server_ip":"LALLAL","server":{"cpu":"1","disk":"3","memory":"2"},"clIEnt":{"cpu":"4","disk":"6","memory":"5"}}]}` var serverInfoSlice Server_Info_Slice Json.Unmarshal([]byte(serverList_Str),&serverInfoSlice) //fmt.Println(serverInfoSlice) for _,serverInfoi := range serverInfoSlice.Server_info { fmt.Println("server_name-->",serverInfoi.Server_name) }}
发送Json数据你事先知道要传送Json的格式 , 你想把变量放进Json
1.定义 Json数组对应的结构体,整体对应slice
2.使用 Json Marshal 将数据编码成Json字符串
type Server_info struct { Server_name string `Json:"server_name"` Server_IP string `Json:"server_ip"` Server map[string]string `Json:"server"` ClIEnt map[string]string `Json:"clIEnt"`}type Server_Info_Slice struct { RectCode int `Json:"retcode"` Server_info []Server_info `Json:"server_info"`}func main() { var serverList Server_Info_Slice serveri := Server_info{ Server_name:"112", Server_IP:"LALLAL", Server: map[string]string{ "cpu": "1", "memory": "2", "disk": "3", }, ClIEnt: map[string]string{ "cpu": "4", "memory": "5", "disk": "6", }, } serverList.RectCode = 0 serverList.Server_info= append(serverList.Server_info, serveri) Json_server, err := Json.Marshal(serverList) if err != nil { fmt.Println("Json err:", err) } fmt.Println(string(Json_server))}
发送 Json数据1.准备好Json
2.准备你的url
Json_data, _ := Json.Marshal(data)var Json_data_byte = []byte(Json_data)fmt.Println("Json-->",bytes.NewBuffer(Json_data_byte))req, err := http.NewRequest("POST", dest_url, bytes.NewBuffer(Json_data_byte))req.header.Set("Content-Type", "application/Json")cookie := &http.cookie{name:"token",Value:"najnkJsiauhdi9w3832233"}req.Addcookie(cookie)clIEnt := &http.ClIEnt{}clIEnt.Do(req)
总结 以上是内存溢出为你收集整理的go 解析json 生成json全部内容,希望文章能够帮你解决go 解析json 生成json所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)