地址接口获取数据失败时,应该注意的,应判断查询时否成功

 

//全部测站点实时数据

@Value("${http_base}")
private String http_base;

@RequestMapping(value = "thereal")
public ModelAndView thereal(
@RequestParam(value = "stcd", required = false, defaultValue = "") String stcd,
@RequestParam(value = "pageIndex", required = false, defaultValue = "0") Integer pageIndex,
@RequestParam(value = "pageSize", required = false, defaultValue = "10") Integer pageSize,
HttpServletRequest request, HttpServletResponse response) throws IOException {

String urlwater = http_base + "/pingshan-service/data/Query1?sttp=ZZ";//http_base=http://192.168.1.15:8080在配置文件里

String datawater=result(urlwater);

                         //这是datawater的格式:

null({"data":[{"stcd":"ZQ001","tm":"2016-05-09 14:22:44","z":0.268,"sttp":"ZP","stnm":"龙田警务室","x":146439.891,"y":42583.973},{"stcd":"44030109","tm":"2016-05-09 17:00:00","z":0.43,"sttp":null,"stnm":"坪山河上游","x":147360.0524,"y":36077.28367},{"stcd":"44030181","tm":"2016-05-09 17:30:00","z":0.32,"sttp":null,"stnm":"坪山河下游","x":144278.6649,"y":35339.50343}],"status":"1","info":"查询成功!"})

//判断datawater是否为空,即是否查询成功了


JSONArray jsonArraywaters = null;
if(datawater.contains("成功")){
int indexdaowater=datawater.indexOf("{");
String resultdaowater=datawater.substring(indexdaowater);
String resultdaowater2=resultdaowater.replace(")","");
// 得到一个json对象
JSONObject jsObjwater = JSONObject.fromObject(resultdaowater2);

JSONArray jsonArraywater = jsObjwater.getJSONArray("data");
List<Map<String, Object>> listwater =new ArrayList();

List<Map<String, Object>> listwater1 =new ArrayList();
List<Map<String, Object>> listwater2 =new ArrayList();
List<Map<String, Object>> listwaters =new ArrayList();
//拆分json并把它分为两个list
for(int i=0;i<jsonArraywater.size();i++){
    JSONObject jobj =  (JSONObject) jsonArraywater.get(i);
   
if(i%2==0){//把奇数个归为一类
Map mapwater11 = new HashMap();
  /*  String stcd1 = (String) jobj.get("stcd");
    String tm1 = (String) jobj.get("tm");
    Double z1 = (Double) jobj.get("z");
    String stnm1 = (String) jobj.get("stnm");*/
    mapwater11.put("stcd1", jobj.get("stcd"));
    mapwater11.put("tm1", jobj.get("tm"));
    mapwater11.put("z1", jobj.get("z"));
    mapwater11.put("stnm1", jobj.get("stnm"));  
 
    listwater1.add(mapwater11);
}else {//把偶数数个归为一类
Map mapwater21 = new HashMap();
/* String stcd2 = (String) jobj.get("stcd");
    String tm2 = (String) jobj.get("tm");
    Double z2 = (Double) jobj.get("z");
    String stnm2 = (String) jobj.get("stnm");*/
    mapwater21.put("stcd2", jobj.get("stcd"));
    mapwater21.put("tm2", jobj.get("tm"));
    mapwater21.put("z2", jobj.get("z"));
    mapwater21.put("stnm2", jobj.get("stnm")); 
  
    listwater2.add(mapwater21);
}
}
//判断奇偶,把两个list合并为一个list
if (jsonArraywater.size() % 2 == 0) {
for (int j = 0; j < jsonArraywater.size() / 2; j++) {
Map mapwater = new HashMap();
mapwater.put("stcd1", listwater1.get(j).get("stcd1"));
mapwater.put("tm1", listwater1.get(j).get("tm1"));
mapwater.put("z1", listwater1.get(j).get("z1"));
mapwater.put("stnm1", listwater1.get(j).get("stnm1"));

mapwater.put("stcd2", listwater2.get(j).get("stcd2"));
mapwater.put("tm2", listwater2.get(j).get("tm2"));
mapwater.put("z2", listwater2.get(j).get("z2"));
mapwater.put("stnm2", listwater2.get(j).get("stnm2"));

listwater.add(mapwater);
}

} else {
for (int j = 0; j < (jsonArraywater.size() + 1) / 2; j++) {

if (j < (jsonArraywater.size() - 1) / 2) {
Map mapwater = new HashMap();
mapwater.put("stcd1", listwater1.get(j).get("stcd1"));
mapwater.put("tm1", listwater1.get(j).get("tm1"));
mapwater.put("z1", listwater1.get(j).get("z1"));
mapwater.put("stnm1", listwater1.get(j).get("stnm1"));
mapwater.put("stcd2", listwater2.get(j).get("stcd2"));
mapwater.put("tm2", listwater2.get(j).get("tm2"));
mapwater.put("z2", listwater2.get(j).get("z2"));
mapwater.put("stnm2", listwater2.get(j).get("stnm2"));
listwater.add(mapwater);
} else if(j<listwater2.size()) {
Map mapwater = new HashMap();
mapwater.put("stcd1", "");
mapwater.put("tm1", "");
mapwater.put("z1", "");
mapwater.put("stnm1", "");
mapwater.put("stcd2",listwater2.get(j).get("stcd2"));
mapwater.put("tm2", listwater2.get(j).get("tm2"));
mapwater.put("z2", listwater2.get(j).get("z2"));
mapwater.put("stnm2",listwater2.get(j).get("stnm2"));
listwater.add(mapwater);
}

}
}

JSONObject jsonwater = new JSONObject();
jsonwater.put("data", listwater);
jsonArraywaters = jsonwater.getJSONArray("data");
}
else{
//查询失败时,给各个字段加上“获取数据失败!”

List<Map<String, Object>> listwater =new ArrayList();
Map mapwater = new HashMap();
mapwater.put("stcd1","获取数据失败!");
mapwater.put("tm1", "获取数据失败!");
mapwater.put("z1", "获取数据失败!");
mapwater.put("stnm1", "获取数据失败!");
mapwater.put("stcd2", "获取数据失败!");
mapwater.put("tm2", "获取数据失败!");
mapwater.put("z2","获取数据失败!");
mapwater.put("stnm2", "获取数据失败!");
listwater.add(mapwater);
JSONObject jsonwater = new JSONObject();
jsonwater.put("data", listwater);
jsonArraywaters=jsonwater.getJSONArray("data");

}


。。。。。。。。。。。。。。。。。。。。。。


HashMap queryParams = new HashMap();

           queryParams.put("water", jsonArraywaters);
           queryParams.put("rain", jsonArrayrain);System.out.println("jsonArrayrain"+jsonArrayrain);
           queryParams.put("neilao", jsonArrayneilao);
           queryParams.put("hedao", jsonArrayhedao);
           queryParams.put("riverstreet", riverservice.queryRiver(null));
           queryParams.put("rivers", riverMap);
           
return new ModelAndView("thereals", queryParams);


}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值