如何将List<List>转换为List<Map<String, String>>形式。
例如将**[[1, 张三, 上海, 2], [2, 李四, 北京, 1], [3, 王五, 厦门, 3], [4, 赵六, 深圳, 5]]** 变成**[{id=1, address=上海, name=张三, type=2}, {id=2, address=北京, name=李四, type=1}, {id=3, address=厦门, name=王五, type=3}, {id=4, address=深圳, name=赵六, type=5}]**
List<List<Object>> listob = null;
listob = importExcelUtil.getPCBListByExcel(in, file.getOriginalFilename());//获取数据
//System.out.println(listob);
//打印结果是:[[1, 张三, 上海, 2], [2, 李四, 北京, 1], [3, 王五, 厦门, 3], [4, 赵六, 深圳, 5]]
List<Map<String, String>> Limap = new ArrayList<Map<String, String>>();
List list = new ArrayList();
list.add("id");
list.add("name");
list.add("address");
list.add("type");
for(int i=0;i<listob.size();i++){
int a=0;
Map map = new HashMap();
for(int j=0;j<listob.get(i).size();j++){
map.put(list.get(a), listob.get(i).get(j));
a+=1;
}
Limap.add(map);
}
//System.out.println(Limap);
/*
* 打印结果是:[{id=1, address=上海, name=张三, type=2}, {id=2, address=北京, name=李四,
* type=1}, {id=3, address=厦门, name=王五, type=3}, {id=4, address=深圳, name=赵六,
* type=5}]
*/
ObjectMapper o=new ObjectMapper();
String json=o.writeValueAsString(Limap);//将Limap转换为json格式
request.getSession().setAttribute("json", json);//将json存储到session中
首先要循环取出List<List>之中的内容
其中List<Map<String ,String >>的类型,这个类型可以放多个键值对,通过map.put(“key”, “value”)存储一个键值对,然后把多个键值对循环存储到List中。
对于List<Map<String ,String >>来说:Map中的key是额外需要添加的内容,value则是从List<List>中的List<>取出的值。