当前位置: 首页 > 知识库问答 >
问题:

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

杭镜
2023-03-14
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值)。

共有1个答案

司徒隐水
2023-03-14

我找到了解决之道:

由于其中一个字段未初始化,出现了错误,因此objectmapper发现了异常。

只需将@jsonInclude(jsonInclude.include.non_null)添加到POJO类中:

@JsonInclude(JsonInclude.Include.NON_NULL)

SomeObject{
    String date = "11.01.19";
    Long value = null;
}
{
    "date" : "11.09.19"
}
 类似资料:
  • 问题内容: 我正在使用Jackson示例代码对POJO进行反序列化: 这行抛出一个NoSuchMethodError: 我不明白 问题答案: 我猜您的Jackson JAR不同步。本类是JAR,和类是在。 确保它们都是相同的版本。

  • 我有大量的数据,我想让它成为java中的一个对象(例如。https://haste.razvancode.com/agiyamuyol.json) 我正在运行以下代码: 我得到了这个错误: 我百分之百确定那是我的董事会课程,但是我现在已经工作了几个小时,我仍然不能让它工作。 董事会级别: 如果你对我如何修复它有任何想法,或者我错在哪里,请告诉我。

  • 问题内容: 这是我的第一个android程序,它是一个修改过的hello世界。我在MAC上的仿真器上运行它。我尝试与.NET Web服务进行通信,但在处给出了异常。我可以从模拟器访问该站点。任何帮助表示赞赏:) 问题答案: 尝试在您的AndroidManifest.xml中添加“互联网”权限:

  • 我正在尝试从gson迁移到jackson。这很令人沮丧,jackson在序列化方面做得更好(gson会因为各种原因阻塞jackson序列化的类而没有抱怨)然而,gson更擅长反序列化。 无法构造组织的实例。javautil。果心csv。SqlCsvExporterJson(尽管至少存在一个创建者):没有从字符串值反序列化的字符串参数构造函数/工厂方法。 我已经将其简化为一个简单的bean,我将其序

  • 但我不知道该怎么做。我正在使用maven来获取依赖项。它是否与Apache HttpComponents的版本有关? 下面是pom.xml

  • 我得到一个奇怪的错误: blank=true,null=true)文件“/mypath/lib/python2.7/site-packages/django/forms/fields.py”,第214行,在init super(CharField,self)中。init(*args,**kwargs)类型错误:init()获得意外的关键字参数“null” 在没有收到此错误的情况下,如何使此字段不是