json - Jackson JSON 动态忽略属性

标签 json jackson

我有以下类(class)-

员工

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 从序列化中动态排除字段?

最佳答案

How I can dynamically exclude fields from serializing by using 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;
}

关于json - Jackson JSON 动态忽略属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15773276/

相关文章:

java - Gson : fields that sometimes are strings and others arrays

java - 将浮点时间戳从 Python 转换为 Java 中的 Date

java - 使用 Android 版 Youtube API 在应用程序中显示 YouTube 视频

android - 如何从原始文件夹中获取 json 文件?

java - 有没有一种方法可以在 Spring Boot 应用程序中自定义 JPA 实体的仅一个特定 String 类型字段的序列化?

javascript - 如何读取JSON文件并修改JQuery

android - ArrayAdapter 的 getView() 没有被调用

java - Jackson+JAXB 放心

Java:使用GSON进行JSON映射

java - Jackson 在反序列化过程中对属性进行动态过滤