GO语言实战十三 标准库解码JSON

Abbie ·
更新时间:2024-11-13
· 818 次阅读

解析JSON 返回json { "code": "200", "msg": "success", "data": [ { "id": "0010", "areaname": "北京市" } ] } 解析代码 package main import ( "encoding/json" "fmt" "log" "net/http" ) type ( resData struct { Id string `json:"id"` Areaname string `json:"areaname"` } result struct { Code string `json:"code"` Msg string `json:"msg"` Data []resData `json:"data"` } ) func main() { url := "http://***/frontend/organ/city" res, error := http.Get(url) if error != nil { log.Println(error) return } //io.Copy(os.Stdout, res.Body) var gr result defer res.Body.Close() err := json.NewDecoder(res.Body).Decode(&gr) if err != nil { log.Println("Error: ", err) return } fmt.Println(gr) } 输出

{200 success [{0010 北京市} {0020 广州市} {0021 上海市} {0022 天津市} {0023 重庆市} {0024 沈阳市} {0025 南京市} {0027 武汉市} {0028 成都市} {0029 西安市} {0431 长春市} {0510 无锡市} {0511 镇江市} {0512 苏州市} {0519 常州市} {0531 济南市} {0532 青岛市} {0535 烟台市} {0553 芜湖市} {0571 杭州市} {0574 宁波市} {0591 福州市} {0731 长沙市} {0755 深圳市} {0757 佛山市} {0851 贵阳市}]}

编码json 代码实现 package main import ( "encoding/json" "fmt" ) /** * 编码json */ func main() { //创建一个map映射 c := make(map[string]interface{}) c["name"] = "cdb" c["sex"] = "男" c["mayjor"] = map[string]interface{}{ "backend": "PHP,JAVA,GOLANG", "frontend": "JS,VUE,HTML", } //序列化到JSON data, err := json.MarshalIndent(c, "", "") if err != nil { fmt.Println(err) return } fmt.Println("====") fmt.Println(string(data)) } 输出 { "mayjor": { "backend": "PHP,JAVA,GOLANG", "frontend": "JS,VUE,HTML" }, "name": "cdb", "sex": "男" }
作者:coder~



go语言实战 实战 JSON GO go语言

需要 登录 后方可回复, 如果你还没有账号请 注册新账号