* 将对象序列化成,并编码成UTF-8的字符串
* @throws IOException
* @date 2015-4-3 下午3:31:37
*/
private String serializeRovinceCities(List<Map<String, Object>> result) throws IOException {
ByteArrayOutputStream byteArrayOutputStream = null;
ObjectOutputStream objectOutputStream = null;
String serStr = "";
try {
byteArrayOutputStream = new ByteArrayOutputStream();
objectOutputStream = new ObjectOutputStream(byteArrayOutputStream);
objectOutputStream.writeObject(result);
serStr = byteArrayOutputStream.toString("ISO-8859-1");
serStr = java.net.URLEncoder.encode(serStr, "UTF-8");
} catch (IOException e) {
logger.error(e);
throw e;
} finally {
if(null != objectOutputStream) {
objectOutputStream.close();
}
if(null != byteArrayOutputStream) {
byteArrayOutputStream.close();
}
}
return serStr;
}
/**
* 将序列化字符串反序列化为集合
* @throws IOException
* @date 2015-4-3 下午4:21:20
*/
@SuppressWarnings("unchecked")
private List<Map<String, Object>> deserializeRovinceCities(String value) throws Exception {
ByteArrayInputStream byteArrayInputStream = null;
ObjectInputStream objectInputStream = null;
List<Map<String, Object>> newList = null;
try {
String redStr = java.net.URLDecoder.decode(value, "UTF-8");
byteArrayInputStream = new ByteArrayInputStream(redStr.getBytes("ISO-8859-1"));
objectInputStream = new ObjectInputStream(byteArrayInputStream);
newList = (List<Map<String, Object>>) objectInputStream.readObject();
} catch (Exception e) {
logger.error(e);
} finally {
if(null != objectInputStream) {
objectInputStream.close();
}
if(null != byteArrayInputStream) {
byteArrayInputStream.close();
}
}
return newList;
}