学无止境!
今天看了下如何将对象序列化问题,记录下,防止遗忘
1.对象序列化为json格式
关键代码:
Person p = new Person();
p.setName("Tom");
p.setAge(20);
p.setAddress("软件大道1号");
p.setBirth(new Date());
System.out.println(p);
String personJson = null;
ObjectMapper mapper = new ObjectMapper();
StringWriter sw = new StringWriter();
JsonGenerator gen = new JsonFactory().createJsonGenerator(sw);
mapper.writeValue(gen, p);
gen.close();
personJson = sw.toString();
System.out.println(personJson);
Person p2 = mapper.readValue(personJson, Person.class);
System.out.println(p2);
结果打印
com.suning.test01.Person@170bea5
{"age":20,"birth":1462260998773,"name":"Tom","address":"软件大道1号"}
com.suning.test01.Person@17f98e7
中间的表明成功将对象序列化为json
2.对象序列化为XML格式
Person p = new Person();
p.setName("Tom");
p.setAge(20);
p.setAddress("软件大道1号");
p.setBirth(new Date());
System.out.println(p);
// 转成XML格式
XStream xStream = new XStream(new DomDriver());
xStream.alias("person", Person.class);
String personXML = xStream.toXML(p);
System.out.println(personXML);
Person p3 = (Person) xStream.fromXML(personXML);
System.out.println(p3);
结果打印
com.suning.test01.Person@1385660
<person>
<name>Tom</name>
<age>20</age>
<address>软件大道1号</address>
<birth>2016-05-03 08:21:00.722 UTC</birth>
</person>
com.suning.test01.Person@1fe256b
图片所示的是jar包