{
"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": "男"
}