我有以下课程 -
员工
public class Employee { private String firstName ; private String lastName ; private String emailAddress ; private String ssn ; }
工资单
public class Payroll { // different payroll related fields private Employee emp ; }
小时
public class HR { // different HR related fields private Employee emp ; }
现在,当我序列化我的Payroll类时,我不想从Employee类序列化我的ssn字段。
当我序列化HR课程时,我不想从Employee课程序列化我的emailAddress字段。
如何使用Jackson JSON API动态排除序列化中的字段?
答案 0 :(得分:5)
如何使用Jackson JSON API动态排除序列化中的字段?
这似乎是应用JacksonJsonViews的主要候选人。
public class Employee {
private String firstName;
private String lastName;
@JsonView(Views.Payroll.class) private String emailAddress;
@JsonView(Views.HR.class) private String ssn;
}
public class Payroll {
// snip
@JsonView(Views.Payroll.class)
private Employee emp;
}
public class HR {
// snip
@JsonView(Views.HR.class)
private Employee emp;
}