QQAP,WXAP_API获取天气预报_JSON解析教程
这里我要获取天气信息
API地址为:http://t.weather.sojson.com/api/weather/city/101030100
API返回结果为JSON数据:
{
“time”: “2018-09-22 12:37:21”,//系统更新时间
“cityInfo”: {
“city”: “天津市”, //请求城市
“cityId”: “101030100”,//请求ID
“parent”: “天津”, //上级,一般是省份
“updateTime”: “12:32″//天气更新时间
},
“date”: “20180922”, //当前天气的当天日期
“message”: “Success !”, //返回message
“status”: 200, //返回状态
“data”: {
“shidu”: “22%”, //湿度
“pm25”: 15.0, //pm2.5
“pm10”: 46.0, //pm10
“quality”: “优”, //空气质量
“wendu”: “24”, //温度
“ganmao”: “各类人群可自由活动”,//感冒提醒(指数)
“forecast”: [//今天+未来14天
{
“date”: “22”,
“ymd”: “2018-09-22”, //年月日 (新增)
“week”: “星期六”, //星期 (新增)
“sunrise”: “05:57”,
“high”: “高温 26.0℃”,
“low”: “低温 15.0℃”,
“sunset”: “18:10”,
“aqi”: 55.0,
“fx”: “西北风”,
“fl”: “4-5级”,
“type”: “晴”,
“notice”: “愿你拥有比阳光明媚的心情”
},
{
“date”: “23”,
“ymd”: “2018-09-22”, //年月日 (新增)
“week”: “星期日”, //星期 (新增)
“sunrise”: “05:58”,
“high”: “高温 23.0℃”,
“low”: “低温 14.0℃”,
“sunset”: “18:09”,
“aqi”: 29.0,
“fx”: “西北风”,
“fl”: “4-5级”,
“type”: “晴”,
“notice”: “愿你拥有比阳光明媚的心情”
},
{
“date”: “24”,
“ymd”: “2018-09-22”, //年月日 (新增)
“week”: “星期一”, //星期 (新增)
“sunrise”: “05:59”,
“high”: “高温 24.0℃”,
“low”: “低温 15.0℃”,
“sunset”: “18:07”,
“aqi”: 25.0,
“fx”: “西北风”,
“fl”: “<3级”,
“type”: “晴”,
“notice”: “愿你拥有比阳光明媚的心情”
},
{
“date”: “25”,
“ymd”: “2018-09-22”, //年月日 (新增)
“week”: “星期二”, //星期 (新增)
“sunrise”: “06:00”,
“high”: “高温 24.0℃”,
“low”: “低温 16.0℃”,
“sunset”: “18:05”,
“aqi”: 56.0,
“fx”: “西南风”,
“fl”: “<3级”,
“type”: “晴”,
“notice”: “愿你拥有比阳光明媚的心情”
},
{
“date”: “26”,
“ymd”: “2018-09-22”, //年月日 (新增)
“week”: “星期三”, //星期 (新增)
“sunrise”: “06:01”,
“high”: “高温 24.0℃”,
“low”: “低温 17.0℃”,
“sunset”: “18:04”,
“aqi”: 86.0,
“fx”: “西南风”,
“fl”: “3-4级”,
“type”: “阴”,
“notice”: “不要被阴云遮挡住好心情”
}
]
}
}
我们这里要取出:
1.取 当前天气的当天日期
date+当前日期:
2.取请求城市信息
cityInfo{city+城市:}
3.取空气质量
data{quality+空气质量:}
4.取感冒提醒(指数)
data{ganmao}
(PS:这里我没有指定别名,直接返回内容)
5.取出今天+未来14天的天气信息数组,最高气温,最低气温,天气信息,温馨提醒(这里我只取今天的信息,及数组最前面的第一条)
data{forecast[type+今日天气:,high+最高气温:,low+最低气温:,notice]1}
PS:最后的那个1 表示只取数组的最前面的1条,如果取2天的数据,这里可以改成2
6.取星期信息
data{forecast[week+今天是:]1}
PS:注意这里的1 在这个位置表示取只取数组内的1条数据
7.取明天日期和星期
data{forecast[ymd+明天:,week+明天是:]}2
PS:注意这里的2 在这个位置(和上面的位置不一样的)表示取只取数组内的第二条数据(注意是第二条)
8.取明天天气情况
data{forecast[type+明天天气:,high+最高气温:,low+最低气温:,notice]}2
PS:和上面取明天日期一个意思
9.最前面加上自定义内容
可以在成功提示字段内输入要自定义的内容
最终交互填报内容为下:
data{forecast[week+今天是:]}1|date+当前日期:|cityInfo{city+城市:}|data{quality+空气质量:}|data{ganmao}|data{forecast[type+今天天气:,high+最高气温:,low+最低气温:,notice]}1|data{forecast[ymd+明天:,week+明天是:]}2|data{forecast[type+明天天气:,high+最高气温:,low+最低气温:,notice]}2
最终效果为: