1 package com.test; 2 3 import com.alibaba.fastjson.JSON; 4 import org.junit.Test; 5 6 import java.io.ByteArrayInputStream; 7 import java.io.ByteArrayOutputStream; 8 import java.io.ObjectInputStream; 9 import java.io.ObjectOutputStream; 10 11 public class SerializeTest { 12 @Test 13 public void Test()throws Exception{ 14 AgencyVoInfo dept = new AgencyVoInfo(); 15 dept.setAgencyCode("1"); 16 dept.setAgencyName("2"); 17 dept.setBranchCode("3"); 18 dept.setId(1); 19 dept.setSerialNo(1); 20 String objectStr = serializeObject(dept); 21 System.out.println(objectStr); 22 AgencyVoInfo dept2 = (AgencyVoInfo)stringSerializeObject(objectStr); 23 System.out.println(JSON.toJSON(dept2)); 24 } 25 /** 26 * 对象序列化为字符串 27 * @param object 28 * @return 29 */ 30 public static String serializeObject(Object object)throws Exception{ 31 ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream(); 32 ObjectOutputStream out = new ObjectOutputStream(byteArrayOutputStream); 33 out.writeObject(object); 34 //必须是ISO-8859-1 35 String objectStr = byteArrayOutputStream.toString("ISO-8859-1"); 36 out.close(); 37 byteArrayOutputStream.close(); 38 return objectStr; 39 } 40 41 /** 42 * 字符串序列化为对象 43 * @param objectStr 44 * @return 45 * @throws Exception 46 */ 47 public static Object stringSerializeObject(String objectStr)throws Exception{ 49 ByteArrayInputStream byteArrayInputStream = new ByteArrayInputStream(objectStr.getBytes("ISO-8859-1")); 50 ObjectInputStream objectInputStream = new ObjectInputStream(byteArrayInputStream); 51 Object object = objectInputStream.readObject(); 52 objectInputStream.close(); 53 byteArrayInputStream.close(); 54 return object; 55 } 56 }