广告公司网站官网,领优惠券的网站是怎么做的,电商网站合作,怎么做淘客网站本例请求了天气api接口
对接流程
注册一个账号, 对接免费实况天气接口阅读接口文档 http://tianqiapi.com/index/doc?versionday请求接口解析json
开发流程
创建一个 json.go 文件需要引入的包
import (encoding/jsonfmtio/ioutilday请求接口解析json
开发流程
创建一个 json.go 文件需要引入的包
import (encoding/jsonfmtio/ioutilnet/http
)定义 Weather Struct go结构体内的变量首字母必须大写type Weather struct {Nums intCityid stringCity stringDate stringWeek stringUpdate_time stringWea stringWea_img stringTem stringTem_day stringTem_night stringWin stringWin_speed stringWin_meter stringAir stringPressure stringHumidity string
}http.Get 请求接口json.Unmarshal 解析jsongofmt -w json.go 格式化代码
完整代码
package mainimport (encoding/jsonfmtio/ioutilnet/http
)type Weather struct {Nums intCityid stringCity stringDate stringWeek stringUpdate_time stringWea stringWea_img stringTem stringTem_day stringTem_night stringWin stringWin_speed stringWin_meter stringAir stringPressure stringHumidity string
}func main() {resp, err : http.Get(http://v1.yiketianqi.com/free/day?appid85841439appsecretEKCDLT4Iunescape1city)if err ! nil {fmt.Println(请求失败, err)}defer resp.Body.Close()body, err : ioutil.ReadAll(resp.Body)if err ! nil {fmt.Println(读取响应失败, err)}fmt.Println(string(body))jsonData : []byte(string(body))var wea Weathererr2 : json.Unmarshal(jsonData, wea)if err2 ! nil {fmt.Println(error:, err2)return}fmt.Println(城市名称, wea.City)fmt.Println(城市编号, wea.Cityid)fmt.Println(当前日期, wea.Date, wea.Week)fmt.Println(更新时间, wea.Update_time)fmt.Println(今日天气, wea.Tem, °, wea.Wea, wea.Tem_night, °~, wea.Tem_day, °)fmt.Println(风向风力, wea.Win, wea.Win_speed, wea.Win_meter)fmt.Println(空气质量, wea.Air)fmt.Println(当前气压, wea.Pressure)fmt.Println(当前湿度, wea.Humidity)fmt.Println(数据来源, 天气APIhttp://tianqiapi.com)
}