1 回答
TA贡献1783条经验 获得超4个赞
首先,您必须阅读正文,然后对其进行解析:
body, err := ioutil.ReadAll(resp.Body)
err = json.NewDecoder(body).Decode(&ip_response)
if err != nil {
return Ip_response_success{}, err
}
另外,在 go 中,json 解码器必须能够访问结构的字段。这意味着它们必须暴露在您的包裹之外。
这意味着您使用 json 注释来指定映射:
type Ip_response_success struct {
As string `json: "as"`
City string `json: "city"`
Country string `json: "country"`
CountryCode string `json: "countryCode"`
Isp string `json: "isp"`
Lat float64 `json: "lat"`
Lon float64 `json: "lon"`
Org string `json: "org"`
Query string `json: "query"`
Region string `json: "region"`
RegionName string `json: "regionName"`
Status string `json: "status"`
Timezone string `json: "timezone"`
Zip string `json: "zip"`
}
另请注意,我根据服务器发送的数据将 Lon / Lat 类型更改为 float64
- 1 回答
- 0 关注
- 172 浏览
添加回答
举报