read json file to struct
package main import ( "encoding/json" "fmt" "io/ioutil" "log" ) /* @Time: 2019-06-20 15:41 @Desc: */ func main() { datas, err := ioutil.ReadFile("./citys4lbs.json") if err != nil { log.Fatal("err is:", err) } log.Println("datas is: ", string(datas), len(string(datas))) resp := new(Resp) errs := json.Unmarshal(datas, resp) if errs != nil { fmt.Println("json unmarshal err is :", errs) } fmt.Println("obj length:", len(resp.Result)) if len(resp.Result) > 0 { result := resp.Result[0] fmt.Println(" first is :", result) fmt.Println(" city is :", result.City) fmt.Println(" province is :", result.Province) // code text cityMap := make(map[string]string) for _, v := range resp.Result { for _, city := range v.City { cityMap[city.Value] = city.Text } cityMap[v.Province.Value] = v.Province.Text } fmt.Println("len is :", len(cityMap)) fmt.Println("map is : ", cityMap) } } type Resp struct { Result []Result ResultCode string `json:"resultCode"` ResultMessage string `json:"resultMessage"` } type Result struct { City []Obj Province Obj } type Obj struct { Text string Value string }