Java ObjectMapper在尝试使用空字段构造实例时抛出JsonMappingException

Java ObjectMapper在尝试使用空字段构造实例时抛出JsonMappingException,java,json,serialization,objectmapper,Java,Json,Serialization,Objectmapper,我尝试将可序列化对象序列化为json字符串,该字符串将包含空字段。 当所有字段都初始化时-所有字段都正常工作,但当我设置为fieldnullvalue时,出现了异常: com.fasterxml.jackson.databind.JsonMappingException: (was java.lang.NullPointerException). 我的代码: public String toJsonString(T t) throws JsonProcessingException{

我尝试将可序列化对象序列化为json字符串,该字符串将包含空字段。 当所有字段都初始化时-所有字段都正常工作,但当我设置为field
null
value时,出现了异常:

com.fasterxml.jackson.databind.JsonMappingException: (was java.lang.NullPointerException).
我的代码:

public String toJsonString(T t) throws JsonProcessingException{
    ObjectMapper objectMapper = new ObjectMapper();
    objectMapper.setVisibility(PropertyAccessor.FIELD, JsonAutoDetect.Visibility.ANY);
    String dtoAsString = objectMapper.writeValueAsString(t); //string where I got the exception
    return dtoAsString;
}
对象:

SomeObject{
    @JsonSerialize(using = LocalDateSerializer.class)
    LocalDate date = LocalDate.now();
    Long value = null;
}
附言:


问题在于,我无法在json中自动解析
someObject
,因为我遇到了另一个异常-我需要将
date
解析为特殊的字符串格式。因此,我需要准确地使用我的方式-objectMapper(Gson().toString错误地序列化了我的
LocalDate
值)。

我找到了解决方法:

发生错误,因为其中一个字段尚未初始化,因此
ObjectMapper
trowed异常

只需将
@JsonInclude(JsonInclude.Include.NON_NULL)
添加到POJO类中:

@JsonInclude(JsonInclude.Include.NON_NULL)

SomeObject{
    String date = "11.01.19";
    Long value = null;
}
因此,我们将获得不带可空字段的json:

{
    "date" : "11.09.19"
}

我被发现解决了以下问题:

发生错误,因为其中一个字段尚未初始化,因此
ObjectMapper
trowed异常

只需将
@JsonInclude(JsonInclude.Include.NON_NULL)
添加到POJO类中:

@JsonInclude(JsonInclude.Include.NON_NULL)

SomeObject{
    String date = "11.01.19";
    Long value = null;
}
因此,我们将获得不带可空字段的json:

{
    "date" : "11.09.19"
}