对象序列化问题

学无止境!


今天看了下如何将对象序列化问题,记录下,防止遗忘

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包



  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值