如果字段的值为空,那么如何将Jackson配置为在序列化期间忽略该字段值。

例如:

public class SomeClass {
   // what jackson annotation causes jackson to skip over this value if it is null but will 
   // serialize it otherwise 
   private String someValue; 
}

当前回答

就我而言

@JsonInclude(Include.NON_EMPTY)

让它发挥作用。

其他回答

这将适用于Spring boot 2.0.3+和Jackson 2.0+

import com.fasterxml.jackson.annotation.JsonInclude;

@JsonInclude(JsonInclude.Include.NON_NULL)
public class ApiDTO
{
    // your class variable and 
    // methods
}

就我而言

@JsonInclude(Include.NON_EMPTY)

让它发挥作用。

对于Jackson 2.5使用:

@JsonInclude(content=Include.NON_NULL)

您可以设置application.properties:

spring.jackson.default-property-inclusion=non_null

或application.yaml:

spring:
  jackson:
    default-property-inclusion: non_null

http://docs.spring.io/spring-boot/docs/current/reference/html/common-application-properties.html

在Jackson 2.x中,使用:

@JsonInclude(JsonInclude.Include.NON_NULL)