【发布时间】:2014-11-08 22:01:10
【问题描述】:
这是我的对象
public class TokenTO {
private String clientId;
private String clientSecret;
private String authCode;
private String authToken;
....
}
当我收到JSON 回复时,我看到了
{"clientId":null,"clientSecret":null,"authCode":null,"authToken":"312301658396979836978200915715157679015:80bf41c2-bc97-492f-a65e-172bef9efb7c:922000000"}
我的JacksonContextResolver 看起来像
public JacksonContextResolver() {
objectMapper = new ObjectMapper()
.setSerializationInclusion(JsonSerialize.Inclusion.ALWAYS);
final AnnotationIntrospector annotationIntrospector = new JaxbAnnotationIntrospector();
objectMapper
.enable(DeserializationConfig.Feature.READ_ENUMS_USING_TO_STRING)
.setSerializationInclusion(JsonSerialize.Inclusion.NON_NULL)
.setDeserializationConfig(objectMapper.getDeserializationConfig().withAnnotationIntrospector(annotationIntrospector))
.setSerializationConfig(objectMapper.getSerializationConfig().withAnnotationIntrospector(annotationIntrospector));
}
我在How to tell Jackson to ignore a field during serialization if its value is null? 和jackson ignore empty values (or null) 中尝试了答案,但它们都不起作用。
我的maven 依赖项看起来像
<properties>
<jaxrs-api.version>3.0.8.Final</jaxrs-api.version>
<maven-war-plugin.version>2.4</maven-war-plugin.version>
<resteasy-jaxrs.version>3.0.9.Final</resteasy-jaxrs.version>
<jackson.version>1.9.13</jackson.version>
<jaxrs-api.version>3.0.8.Final</jaxrs-api.version>
</properties>
<dependency>
<groupId>org.codehaus.jackson</groupId>
<artifactId>jackson-mapper-asl</artifactId>
<version>${jackson.version}</version>
</dependency>
<dependency>
<groupId>org.codehaus.jackson</groupId>
<artifactId>jackson-core-asl</artifactId>
<version>${jackson.version}</version>
</dependency>
<dependency>
<groupId>org.codehaus.jackson</groupId>
<artifactId>jackson-xc</artifactId>
<version>${jackson.version}</version>
</dependency>
问题
如何去除JSON 中的null 值?
【问题讨论】:
-
org.codehaus.jackson? 2014 年? -
更好的建议请@fge
-
你必须使用那个旧版本的 Jackson 吗? Jackson 1 的最后一次发布是在 1 1/2 年前。 ...我已经有 2 年没有使用它了。也许这是一个老错误。
-
你为什么有
JsonSerialize.Inclusion.ALWAYS? -
@daydreamer:新版本:mvnrepository.com/artifact/com.fasterxml.jackson.core
标签: java json maven jackson jax-rs