今天在写一个图标的时候,因为值展示最近的几条 没必要建个表往数据库中存
所以就想着将数据放list<Map<String,Object>>中
但是取出来的时候 出问题了 转了好几此都没有成功
就自己研究了一下
往redis中存:
Map<String, Object> mapData = new HashMap<String, Object>();
mapData.put("pm25", 22);
mapData.put("pm10", 14);
mapData.put("wd", 17);
mapData.put("sd", 4);
List<Map<String, Object>> listData = new ArrayList<Map<String,Object>>();
listData.add(mapData);
redisUtil.set("listTest", JSON.toJSONString(listData));
存的时候非常重要 不能直接 list.toString();
需要转成JSONString 这样在取出来的时候 转list才好转换
取出来String 转 list:
String listStr = redisUtil.get("listTest");
System.out.println(listStr);
List<Map<String, Object>> listData = new ArrayList<>();
List<Object> redisData =JSONArray.parseArray(listStr);
for (Object object : redisData) {
Map <String,Object> ret = (Map<String, Object>) object;//取出list里面的值转为map
listData.add(ret);
}
System.out.println(listData.size());
for (Map<String, Object> map : listData) {
Object object = map.get("pm25");
System.out.println(object);
}