难点是泛型如何转换
一、arrayList<Map<String, Object>>转化json字符串,存入redis缓存
ArrayList<Map<String, Object>> listProfit
//将ArrayList<Map<String, Object>>类型数据转换成json字符串
String listProfitPctJsonStr = JSON.toJSONString(listProfit);
//然后将json字符串存入redis缓存,唯一key value
JedisUtils.setex("listProfit", 600,listProfitPctJsonStr);
二、json字符串转回ArrayList<Map<String, Object>>(难点)
List<Map<String, Object>> listProfit=null;
//先从redis里面去查询数据,看是否能获取到对应json字符串
String jsonStrLp=JedisUtils.get("listProfit");
//如果能获取则说明缓存中有数据
if(!StringUtils.isBlank(jsonStrLp)){
//目的是为了泛型的转换
listProfit=new ArrayList<Map<String,Object>>();
//先把从redis缓存中取出来的json字符串转为List<Map>集合
List<Map> mapList=JSON.parseArray(jsonStrLp, Map.class);
//然后循环遍历这个List集合,得出的结果为Map,然后再强转为Map<String,Object>,
再循环 把 Map<String,Object>添加到List集合中,搞定!!!
for (Map map : mapList) {
Map<String,Object> sObj=(Map<String,Object>)map;
listProfit.add(sObj);
}