项目场景:
DataV测试项目天气接口数据过滤练习
问题描述:
根据天气状态展示对应图标
APP 中接收数据代码:
{
"results": [
{
"location": {
"id": "WX4DP0SUJ2YC",
"name": "大兴",
"country": "CN",
"path": "大兴,北京,中国",
"timezone": "Asia/Shanghai",
"timezone_offset": "+08:00"
},
"daily": [
{
"date": "2022-01-06",
"text_day": "雾",
},
{
"date": "2022-01-07",
"text_day": "晴",
},
{
"date": "2022-01-08",
"text_day": "多云",
}
],
"last_update": "2022-01-06T08:00:00+08:00"
}
]
}
数据过滤代码:
var dail = data.results
var text_day = dail[0].daily[2].text_day
var result = []
var obj = {
"img": '',
"url": ''
}
switch (text_day) {
case '晴':
obj.img = 'https://scpic.chinaz.net/Files/pic/icons128/5675/6.png'
break;
case '晴转多云':
obj.img = 'https://scpic.chinaz.net/Files/pic/icons128/5675/3.png'
break;
case '多云转晴':
obj.img = 'https://scpic.chinaz.net/Files/pic/icons128/5675/3.png'
break;
case '多云':
obj.img = 'https://scpic.chinaz.net/Files/pic/icons128/5675/2.png'
break;
case '阴':
obj.img = 'https://scpic.chinaz.net/Files/pic/icons128/5675/0.png'
break;
case '雨':
obj.img = 'https://scpic.chinaz.net/Files/pic/icons128/5675/1.png'
break;
case '雷雨':
obj.img = 'https://scpic.chinaz.net/Files/pic/icons128/5675/7.png'
break;
case '小雨':
obj.img = 'https://scpic.chinaz.net/Files/pic/icons128/5675/4.png'
break;
case '大雨':
obj.img = 'https://scpic.chinaz.net/Files/pic/icons128/5675/5.png'
break;
default:
break;
}
result.push(obj)
return result
最终结果:
[
{
"img": "https://scpic.chinaz.net/Files/pic/icons128/5675/6.png",
"url": ""
}
]
解决方案:
1.获取需转换的属性值
2.初始化最终obj格式
3.switch循环,不同情况obj.img图片地址不同
4.将obj对象push进空数组