Jackson JSON动态忽略属性
我有以下课程: 员工 public class Employee { private String firstName ; private String lastName ; private String emailAddress ; private String ssn ; } 公营雇员{ 私有字符串名; 私有字符串lastName; 私有字符串电子邮件地址; 私有字符串ssn; } 工资单 public class Payroll { // different payroll related fields private Employee emp ; } 公共类工资单{ //不同的薪资相关字段 私人雇员环境管理计划; } HR public class HR { // different HR related fields private Employee emp ; } 公共类人力资源{ //不同的人力资源相关领域 私人雇员环境管理计划; } 现在,当我序列化Payroll类时,我不想从Employee类序列化我的ssn字段 当我序列化我的HR类时,我不想从Employee类序列化我的emailAddress字段 如何使用Jackson JSON API动态排除序列化中的字段 如何使用Jackson JSON API动态排除序列化中的字段 这似乎是申请的最佳人选Jackson JSON动态忽略属性,json,jackson,Json,Jackson,我有以下课程: 员工 public class Employee { private String firstName ; private String lastName ; private String emailAddress ; private String ssn ; } 公营雇员{ 私有字符串名; 私有字符串lastName; 私有字符串电子邮件地址; 私有字符串ssn; } 工资单 public class Payroll { // di
如果还有另一个类,比如Department,它将Employee作为对象,当序列化时,它希望序列化Employee中的所有内容,那么该类是如何工作的呢?链接文档介绍了这一点。在这种情况下,您可以完全禁用视图处理。有没有一种方法可以根据运行时确定的某个值来选择使用哪些视图,并对其进行更改?如果不是,那么这并不能回答问题的“动态”部分。
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;
}