如何使用呢?直奔主题
定义 user类:
public class User(){
private Integer id;
private String name;
private Integer age;
private Date birthday;
private String email;
//有参构造
public User(Integer id, String name, Integer age, Date birthday, String email) {
super();
this.id = id;
this.name = name;
this.age = age;
this.birthday = birthday;
this.email = email;
}
//无参构造
public User() {
super();
// TODO Auto-generated constructor stub
}
//TODO getter和setter方法省略
}
//现在先写出来究竟反序列化的结果是什么 ,里面没有添加数据,我这里直接写了:
假定 反序列化结果:
String json = ” {\”id\”:3, \”name\”:\”小明\”, \”age\”:18, \”birthday\”:590774400000, \”email\”:\”xiaomin@sina.com\”} “;
/*
一般在数据库中会存储这样的数据, 现在我要将json序列化为正常的数据:
*/
步骤 :
ObjectMapper mapper1= new ObjectMapper();
User user = mapper1.readValue(json, User.class);
System.out.println(user); //打印出来的是个user对象
如果说要把这个user对象再转换为反序列化 操作:
注意:
反序列化时候,如果你的实体类里面有有参构造,这时候必须添加无参构造,否则就会报错 ,, spirng框架默认使用json序列化, 如过使用jackson, 就需要单独给实体类, 加无参构造.
User user= new User();
ObjectMapper mapper2= new ObjectMapper();
String seria =mapper.writeValueAsString(user);
就会得到将user对象反序列化后的结果 :
String json = ” {\”id\”:3, \”name\”:\”小明\”, \”age\”:18, \”birthday\”:590774400000, \”email\”:\”xiaomin@sina.com\”} “;
: 2018-8-19
name : dkang