spring接口返回json如何去除为null的数据
在Spring框架中,要想在接口返回JSON时去除为null的数据,可以使用@JsonInclude(JsonInclude.Include.NON_NULL)
注解。这个注解可以被加到类级别或者全局级别,以决定如何序列化对象属性。
类级别使用示例:
import com.fasterxml.jackson.annotation.JsonInclude;
@JsonInclude(JsonInclude.Include.NON_NULL)
public class MyObject {
private String nonNullProperty;
private String nullProperty; // 这个属性如果为null,在序列化时会被忽略
// getters and setters
}
全局级别使用示例:
在Spring Boot应用中,可以在application.properties
或application.yml
中添加以下配置:
# application.properties
spring.jackson.default-property-inclusion=non_null
或者在Java配置中这样设置:
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.databind.ObjectMapper;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
@Configuration
public class JacksonConfig {
@Bean
public ObjectMapper objectMapper() {
ObjectMapper mapper = new ObjectMapper();
mapper.setSerializationInclusion(JsonInclude.Include.NON_NULL);
return mapper;
}
}
这样设置后,Spring接口返回的JSON数据中所有为null的字段将不会被包含在序列化结果中。
评论已关闭