微信退款接收返回的参数解析错误,接收Map中整形,数据String转Integer报错:java.lang.ClassCastException: java.lang.String cannot be cast to java.lang.Integer

Map map = WXPayUtil.xmlToMap(result);
获取返回的total_fee解析为整形时报错:java.lang.ClassCastException: java.lang.String cannot be cast to java.lang.Integer
Integer totalFee = (Integer)map.get("total_fee");

原来在map中放的是一个字符串的Integer,就是"total_fee":"50"这种类型,所以强转就会报错,但是如果你是"total_fee":50这样就不会报错,但是微信返回的代码不清楚是怎么放置的数据,最后修改如下:

Integer totalFee = Integer.parseInt(String.valueOf(map.get("total_fee")))
posted @ 2020-06-18 11:27  醉逍遥_001  阅读(335)  评论(0编辑  收藏  举报