天气预报 将1-6天的数据源和7-9天的数据源的信息匹配起来了 代码

本文详细阐述了如何通过解析天气预报数据,并将其自动化转换为易于理解的图像和文字信息,包括雨、雪、晴朗、多云等天气类型的具体处理逻辑及实现方式。同时,文章还介绍了如何在程序中解决JSON接口中的NULL、DNULL.GIF、NNULL.GIF等问题,确保天气信息的准确无误展示。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

晚上吃了晚饭,拿出两张大白纸,对照中国天气网和好天气网,写了两份图片和信息的对比表,主要匹配的是天气情况图片和文字的对应关系。


然后在程序里,解析的那块,做了一个匹配的IF ELSE处理。把这个问题大致解决了。


并且将JSON接口中的NULL值,和一些DNULL.GIF,NNULL.GIF的BUG都处理为不显示


我的核心思路如下,不晓得有没有更好地解决办法:


/*以下为第七天上午信息*/
				/*
				 * 以下为雨夹雪
				 */
				if(weather_title71.equals("雨或雪")) {
					weather_title71="雨夹雪";
					report[0].setImg1("06");
				}
				/*
				 * 以下为晴朗
				 */
				if(weather_title71.equals("晴")) {
					weather_title71="晴";
					report[0].setImg1("00");
				}
				if(weather_title71.equals("晴朗")) {
					weather_title71="晴";
					report[0].setImg1("00");
				}
			    if(weather_title71.equals("大部晴朗")) {
					weather_title71="晴";
					report[0].setImg1("00");
				}
			    
			    /*
			     * 以下为多云
			     */
			    if(weather_title71.equals("多云")) {
					weather_title71="多云";
					report[0].setImg1("01");
				}
			    if(weather_title71.equals("局部多云")) {
					weather_title71="多云";
					report[0].setImg1("01");
				}
			    if(weather_title71.equals("大部多云")) {
					weather_title71="多云";
					report[0].setImg1("01");
				}
			    if(weather_title71.equals("晴时多云")) {
					weather_title71="多云";
					report[0].setImg1("01");
				}
			    if(weather_title71.equals("早多云/晚转晴")) {
					weather_title71="多云";
					report[0].setImg1("01");
				}
			    if(weather_title71.equals("上午有云/下午后晴")) {
					weather_title71="多云";
					report[0].setImg1("01");
				}
			    
			    /*
			     * 以下为阵雨
			     */
			    if(weather_title71.equals("阵雨")) {
					weather_title71="阵雨";
					report[0].setImg1("03");
				}
			    if(weather_title71.equals("零星阵雨")) {
					weather_title71="阵雨";
					report[0].setImg1("03");
				}
			    if(weather_title71.equals("短暂阵雨")) {
					weather_title71="阵雨";
					report[0].setImg1("03");
				}
			    /*
			     * 以下为阵雪
			     */
			    if(weather_title71.equals("阵雪")) {
					weather_title71="阵雪";
					report[0].setImg1("13");
				}
			    if(weather_title71.equals("雨或阵雪")) {
					weather_title71="阵雪";
					report[0].setImg1("13");
				}
			    if(weather_title71.equals("短暂降雪")) {
			    	weather_title71="阵雪";
			    	report[0].setImg1("13");
			    }
			    if(weather_title71.equals("短暂阵雪")) {
			    	weather_title71="阵雪";
			    	report[0].setImg1("13");
			    }
			    if(weather_title71.equals("零星阵雪")) {
			    	weather_title71="阵雪";
			    	report[0].setImg1("13");
			    }

/*以下为第八天上午信息*/
			    /*
				 * 以下为雨夹雪
				 */
				if(weather_title81.equals("雨或雪")) {
					weather_title81="雨夹雪";
					report[1].setImg1("06");
				}
				/*
				 * 以下为晴朗
				 */
				if(weather_title81.equals("晴")) {
					weather_title81="晴";
					report[1].setImg1("00");
				}
				if(weather_title81.equals("晴朗")) {
					weather_title81="晴";
					report[1].setImg1("00");
				}
			    if(weather_title81.equals("大部晴朗")) {
					weather_title81="晴";
					report[1].setImg1("00");
				}
			    
			    /*
			     * 以下为多云
			     */
			    if(weather_title81.equals("多云")) {
					weather_title81="多云";
					report[1].setImg1("01");
				}
			    if(weather_title81.equals("局部多云")) {
					weather_title81="多云";
					report[1].setImg1("01");
				}
			    if(weather_title81.equals("大部多云")) {
					weather_title81="多云";
					report[1].setImg1("01");
				}
			    if(weather_title81.equals("晴时多云")) {
					weather_title81="多云";
					report[1].setImg1("01");
				}
			    if(weather_title81.equals("早多云/晚转晴")) {
					weather_title81="多云";
					report[1].setImg1("01");
				}
			    if(weather_title81.equals("上午有云/下午后晴")) {
					weather_title81="多云";
					report[1].setImg1("01");
				}
			    
			    /*
			     * 以下为阵雨
			     */
			    if(weather_title81.equals("阵雨")) {
					weather_title81="阵雨";
					report[1].setImg1("03");
				}
			    if(weather_title81.equals("零星阵雨")) {
					weather_title81="阵雨";
					report[1].setImg1("03");
				}
			    if(weather_title81.equals("短暂阵雨")) {
					weather_title81="阵雨";
					report[1].setImg1("03");
				}
			    /*
			     * 以下为阵雪
			     */
			    if(weather_title81.equals("阵雪")) {
					weather_title81="阵雪";
					report[1].setImg1("13");
				}
			    if(weather_title81.equals("雨或阵雪")) {
					weather_title81="阵雪";
					report[1].setImg1("13");
				}
			    if(weather_title81.equals("短暂降雪")) {
			    	weather_title81="阵雪";
			    	report[1].setImg1("13");
			    }
			    if(weather_title81.equals("短暂阵雪")) {
			    	weather_title81="阵雪";
			    	report[1].setImg1("13");
			    }
			    if(weather_title81.equals("零星阵雪")) {
			    	weather_title81="阵雪";
			    	report[1].setImg1("13");
			    }				
				
/*以下为第九天上午信息*/
			    /*
				 * 以下为雨夹雪
				 */
				if(weather_title91.equals("雨或雪")) {
					weather_title91="雨夹雪";
					report[2].setImg1("06");
				}
				/*
				 * 以下为晴朗
				 */
				if(weather_title91.equals("晴")) {
					weather_title91="晴";
					report[2].setImg1("00");
				}
				if(weather_title91.equals("晴朗")) {
					weather_title91="晴";
					report[2].setImg1("00");
				}
			    if(weather_title91.equals("大部晴朗")) {
					weather_title91="晴";
					report[2].setImg1("00");
				}
			    
			    /*
			     * 以下为多云
			     */
			    if(weather_title91.equals("多云")) {
					weather_title91="多云";
					report[2].setImg1("01");
				}
			    if(weather_title91.equals("局部多云")) {
					weather_title91="多云";
					report[2].setImg1("01");
				}
			    if(weather_title91.equals("大部多云")) {
					weather_title91="多云";
					report[2].setImg1("01");
				}
			    if(weather_title91.equals("晴时多云")) {
					weather_title91="多云";
					report[2].setImg1("01");
				}
			    if(weather_title91.equals("早多云/晚转晴")) {
					weather_title91="多云";
					report[2].setImg1("01");
				}
			    if(weather_title91.equals("上午有云/下午后晴")) {
					weather_title91="多云";
					report[2].setImg1("01");
				}
			    
			    /*
			     * 以下为阵雨
			     */
			    if(weather_title91.equals("阵雨")) {
					weather_title91="阵雨";
					report[2].setImg1("03");
				}
			    if(weather_title91.equals("零星阵雨")) {
					weather_title91="阵雨";
					report[2].setImg1("03");
				}
			    if(weather_title91.equals("短暂阵雨")) {
					weather_title91="阵雨";
					report[0].setImg1("03");
				}
			    /*
			     * 以下为阵雪
			     */
			    if(weather_title91.equals("阵雪")) {
					weather_title91="阵雪";
					report[2].setImg1("13");
				}
			    if(weather_title91.equals("雨或阵雪")) {
					weather_title91="阵雪";
					report[2].setImg1("13");
				}
			    if(weather_title91.equals("短暂降雪")) {
			    	weather_title91="阵雪";
			    	report[2].setImg1("13");
			    }
			    if(weather_title91.equals("短暂阵雪")) {
			    	weather_title91="阵雪";
			    	report[2].setImg1("13");
			    }
			    if(weather_title91.equals("零星阵雪")) {
			    	weather_title91="阵雪";
			    	report[2].setImg1("13");
			    }
				
/*以下是下午信息           
 * 
 *                                                                                                               
 *                                                                               
 *
 **/
/*以下为第七天下午信息*/
			    /*
				 * 以下为雨夹雪
				 */
				if(weather_title72.equals("雨或雪")) {
					weather_title72="雨夹雪";
					report[0].setImg2("06");
				}
				/*
				 * 以下为晴朗
				 */
				if(weather_title72.equals("晴")) {
					weather_title72="晴";
					report[0].setImg2("00");
				}
				if(weather_title72.equals("晴朗")) {
					weather_title72="晴";
					report[0].setImg2("00");
				}
			    if(weather_title72.equals("大部晴朗")) {
					weather_title72="晴";
					report[0].setImg2("00");
				}
			    
			    /*
			     * 以下为多云
			     */
			    if(weather_title72.equals("多云")) {
					weather_title72="多云";
					report[0].setImg2("01");
				}
			    if(weather_title72.equals("局部多云")) {
					weather_title72="多云";
					report[0].setImg2("01");
				}
			    if(weather_title72.equals("大部多云")) {
					weather_title72="多云";
					report[0].setImg2("01");
				}
			    if(weather_title72.equals("晴时多云")) {
					weather_title72="多云";
					report[0].setImg2("01");
				}
			    if(weather_title72.equals("早多云/晚转晴")) {
					weather_title72="晴";
					report[0].setImg2("00");
				}
			    if(weather_title72.equals("上午有云/下午后晴")) {
					weather_title72="晴";
					report[0].setImg2("00");
				}
			    
			    /*
			     * 以下为阵雨
			     */
			    if(weather_title72.equals("阵雨")) {
					weather_title72="阵雨";
					report[0].setImg2("03");
				}
			    if(weather_title72.equals("零星阵雨")) {
					weather_title72="阵雨";
					report[0].setImg2("03");
				}
			    if(weather_title72.equals("短暂阵雨")) {
					weather_title72="阵雨";
					report[0].setImg2("03");
				}
			    /*
			     * 以下为阵雪
			     */
			    if(weather_title72.equals("阵雪")) {
					weather_title72="阵雪";
					report[0].setImg2("13");
				}
			    if(weather_title72.equals("雨或阵雪")) {
					weather_title72="阵雪";
					report[0].setImg2("13");
				}
			    if(weather_title72.equals("短暂降雪")) {
			    	weather_title72="阵雪";
			    	report[0].setImg2("13");
			    }
			    if(weather_title72.equals("短暂阵雪")) {
			    	weather_title72="阵雪";
			    	report[0].setImg2("13");
			    }
			    if(weather_title72.equals("零星阵雪")) {
			    	weather_title72="阵雪";
			    	report[0].setImg2("13");
			    }

/*以下为第八天下午信息*/
			    /*
				 * 以下为雨夹雪
				 */
				if(weather_title82.equals("雨或雪")) {
					weather_title82="雨夹雪";
					report[1].setImg2("06");
				}
				/*
				 * 以下为晴朗
				 */
				if(weather_title82.equals("晴")) {
					weather_title82="晴";
					report[1].setImg2("00");
				}
				if(weather_title82.equals("晴朗")) {
					weather_title82="晴";
					report[1].setImg2("00");
				}
			    if(weather_title82.equals("大部晴朗")) {
					weather_title82="晴";
					report[1].setImg2("00");
				}
			    
			    /*
			     * 以下为多云
			     */
			    if(weather_title82.equals("多云")) {
					weather_title82="多云";
					report[1].setImg2("01");
				}
			    if(weather_title82.equals("局部多云")) {
					weather_title82="多云";
					report[1].setImg2("01");
				}
			    if(weather_title82.equals("大部多云")) {
					weather_title82="多云";
					report[1].setImg2("01");
				}
			    if(weather_title82.equals("晴时多云")) {
					weather_title82="多云";
					report[1].setImg2("01");
				}
			    if(weather_title82.equals("早多云/晚转晴")) {
					weather_title82="晴";
					report[1].setImg2("00");
				}
			    if(weather_title82.equals("上午有云/下午后晴")) {
					weather_title82="晴";
					report[1].setImg2("00");
				}
			    
			    /*
			     * 以下为阵雨
			     */
			    if(weather_title82.equals("阵雨")) {
					weather_title82="阵雨";
					report[1].setImg2("03");
				}
			    if(weather_title82.equals("零星阵雨")) {
					weather_title82="阵雨";
					report[1].setImg2("03");
				}
			    if(weather_title82.equals("短暂阵雨")) {
					weather_title82="阵雨";
					report[1].setImg2("03");
				}
			    /*
			     * 以下为阵雪
			     */
			    if(weather_title82.equals("阵雪")) {
					weather_title82="阵雪";
					report[1].setImg2("13");
				}
			    if(weather_title82.equals("雨或阵雪")) {
					weather_title82="阵雪";
					report[1].setImg2("13");
				}
			    if(weather_title82.equals("短暂降雪")) {
			    	weather_title82="阵雪";
			    	report[1].setImg2("13");
			    }
			    if(weather_title82.equals("短暂阵雪")) {
			    	weather_title82="阵雪";
			    	report[1].setImg2("13");
			    }
			    if(weather_title82.equals("零星阵雪")) {
			    	weather_title82="阵雪";
			    	report[1].setImg2("13");
			    }				
				
/*以下为第九天下午信息*/
			    /*
				 * 以下为雨夹雪
				 */
				if(weather_title92.equals("雨或雪")) {
					weather_title92="雨夹雪";
					report[2].setImg2("06");
				}
				/*
				 * 以下为晴朗
				 */
				if(weather_title92.equals("晴")) {
					weather_title92="晴";
					report[2].setImg2("00");
				}
				if(weather_title92.equals("晴朗")) {
					weather_title92="晴";
					report[2].setImg2("00");
				}
			    if(weather_title92.equals("大部晴朗")) {
					weather_title92="晴";
					report[2].setImg2("00");
				}
			    
			    /*
			     * 以下为多云
			     */
			    if(weather_title92.equals("多云")) {
					weather_title92="多云";
					report[2].setImg2("01");
				}
			    if(weather_title92.equals("局部多云")) {
					weather_title92="多云";
					report[2].setImg2("01");
				}
			    if(weather_title92.equals("大部多云")) {
					weather_title92="多云";
					report[2].setImg2("01");
				}
			    if(weather_title92.equals("晴时多云")) {
					weather_title92="多云";
					report[2].setImg2("01");
				}
			    if(weather_title92.equals("早多云/晚转晴")) {
					weather_title92="晴";
					report[2].setImg2("00");
				}
			    if(weather_title92.equals("上午有云/下午后晴")) {
					weather_title92="晴";
					report[2].setImg2("00");
				}
			    
			    /*
			     * 以下为阵雨
			     */
			    if(weather_title92.equals("阵雨")) {
					weather_title92="阵雨";
					report[2].setImg2("03");
				}
			    if(weather_title92.equals("零星阵雨")) {
					weather_title92="阵雨";
					report[2].setImg2("03");
				}
			    if(weather_title92.equals("短暂阵雨")) {
					weather_title92="阵雨";
					report[2].setImg2("03");
				}
			    /*
			     * 以下为阵雪
			     */
			    if(weather_title92.equals("阵雪")) {
					weather_title92="阵雪";
					report[2].setImg2("13");
				}
			    if(weather_title92.equals("雨或阵雪")) {
					weather_title92="阵雪";
					report[2].setImg2("13");
				}
			    if(weather_title92.equals("短暂降雪")) {
			    	weather_title92="阵雪";
			    	report[2].setImg2("13");
			    }
			    if(weather_title92.equals("短暂阵雪")) {
			    	weather_title92="阵雪";
			    	report[2].setImg2("13");
			    }
			    if(weather_title92.equals("零星阵雪")) {
			    	weather_title92="阵雪";
			    	report[2].setImg2("13");
			    }
			    


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值