JacksonProviderProxy在json输出中写出空值

我有一个简单的POJO类,扩展了另一个简单的POJO类.我使用com.sun.jersey.json.impl.provider.entity.JacksonProviderProxy将这些POJO类中的属性编组为 JSON.但是,当我将POJO的某些属性设置为null时,它将输出这些属性作为字符串null,而不是根本输出.

例如

{
   Person:
   [{
      "firstName":"John"
      "lastName":"null"
    }]
}

代替:

例如

{
   Person:
   [{
      "firstName":"John"
    }]
}

解决方法

根据使用的Jackson的版本以及ObjectMapper是否可以直接配置,可以使用不同的选项来抑制具有空值的属性序列化.

使用Jackson 1.1,可以直接访问配置ObjectMapper,您可以调用setSerializationInclusion(Include.NON_NULL).

或者,您可以使用@JsonSerialize(include = Inclusion.NON_NULL)注释具有要禁止的空属性序列化的属性的(类)类型.

使用Jackson 2,而不是@JsonSerialize注释,请使用@JsonInclude(Include.NON_NULL).

相关文章

前言 做过web项目开发的人对layer弹层组件肯定不陌生,作为l...
前言 前端表单校验是过滤无效数据、假数据、有毒数据的第一步...
前言 图片上传是web项目常见的需求,我基于之前的博客的代码...
前言 导出Excel文件这个功能,通常都是在后端实现返回前端一...
前言 众所周知,js是单线程的,从上往下,从左往右依次执行,...
前言 项目开发中,我们可能会碰到这样的需求:select标签,禁...