通过 jdbcTemplate.queryForList得到的list,这个list里存储的是ListOrderedMap对象,只有通过对ListOrderedMap遍历得到key value才能组成JSON字符串。下面是一个list<ListOrderedMap>转json串的工具类:
public class JSONUtil {/**
* @param list:jdbcTemplate.queryForList()返回的List
* @return
*/
public static String getJsonString(List list){
StringBuffer sb = new StringBuffer("[");
if(list != null){
for(int i=0;i<list.size();i++){
sb.append("{");
ListOrderedMap lstmp = new ListOrderedMap();
lstmp = (ListOrderedMap)list.get(i);
Set<String> mpKey = lstmp.keySet();
Iterator<String> it = mpKey.iterator();
while(it.hasNext()){
String key = it.next();
String clmvl = lstmp.get(key)!=null?lstmp.get(key).toString():""; //获取列值
sb.append("'"+key+"':"+"'"+clmvl+"',");
}
sb.deleteCharAt(sb.length()-1);
if(i==list.size()-1){
sb.append("}");
}else{
sb.append("},");
}
}
}
sb.append("]");
return sb.toString().replaceAll("\n|\r", "");
}
}