java - @JsonInclude(Include.NON_NULL) 不工作/ jackson 序列化空值

标签 java json spring hibernate jackson

我已经在类/pojo 上放置了注释并配置了映射器,但它仍然序列化 null

我正在使用 Hibernate 4.3.7Final 和 Jackson 2.4.4。这些集合是延迟加载

Pojo:删除了 getter 和 setter

@JsonInclude(Include.NON_NULL)
@Entity
@Table
public class School {

    @Id
    @GeneratedValue
    private int id;

    @OneToMany(cascade=CascadeType.ALL,fetch= FetchType.LAZY)
    private List<Student> students;

    @OneToMany(cascade=CascadeType.ALL,fetch= FetchType.LAZY)
    private List<Employee> staff;

}

JSONMapper:

@Component
public class JSONMapper extends ObjectMapper {
/**
     * 
     */
    private static final long serialVersionUID = -3131980955975958812L;

//ref http://blog.pastelstudios.com/2012/03/12/spring-3-1-hibernate-4-jackson-module-hibernate/ 

    public JSONMapper() {

        Hibernate4Module hm = new Hibernate4Module();
        registerModule(hm);
        configure(SerializationFeature.FAIL_ON_EMPTY_BEANS, false);
        configure(SerializationFeature.INDENT_OUTPUT , false);
        configure(MapperFeature.DEFAULT_VIEW_INCLUSION, false);
        setSerializationInclusion(Include.NON_NULL);  
    }
}

输出:

{"id":1,"students":null,"staff":null}

最佳答案

尝试使用 JsonInclude.NON_EMPTY相反。

关于java - @JsonInclude(Include.NON_NULL) 不工作/ jackson 序列化空值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27959267/

相关文章:

java - 从 Spring MVC 上的另一个模块访问静态资源

spring - 匹配的通配符是严格的,但找不到元素 'batch:job' 的声明 - 仅在生产服务器上

java - 有没有办法在 Oracle/JDBC 中区分 DATE 和 TIMESTAMP?

Java 邮件附件未在 Outlook 中显示

c# - 正则表达式删除两个字符串之间的连字符

java - 没有 web 的 Spring Java 异常监听器

java - java中的平等

java - Google App Engine 上的 Spring Boot 应用程序 : unable to find main class

python - 从 Python 将 null 插入 Sqlite

json - 嵌套 JSON 的单个结构或多个结构?