有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java如何修复com。fasterxml。杰克逊。数据绑定。JsonMappingException:反序列化属性时出现问题“错误”

我正在将yyyy MM dd格式的日期字符串转换为com格式。税收。驾驶员果心LocalDate使用对象映射器,并将数据保存到我的JavaSpring启动项目中的Cassandra中。 我在Cassandra中的专栏类型是date,我使用的是com。税收。驾驶员果心我的java类中的LocalDate。 但在将map转换为我的java类时,它会抛出错误“com.fasterxml.jackson.databind.JsonMappingException:反序列化属性'employeedateofbirth'时出现问题(预期类型:[simple type,class com.datastax.driver.core.LocalDate];实际类型:java.time.LocalDate),问题:参数类型不匹配”。 我没有使用java。时间LocalDate仍然会给我参数不匹配错误

我甚至尝试使用以下代码注册模块

ObjectMapper oMapper = new ObjectMapper().registerModule(new ParameterNamesModule()).registerModule(new Jdk8Module()).registerModule(new JavaTimeModule());
oMapper.findAndRegisterModules();

我还尝试了一些对象映射器的配置,比如

oMapper.configure(MapperFeature.USE_GETTERS_AS_SETTERS, false) ;

甚至在我的属性上使用了注释:

@JsonDeserialize(using = LocalDateDeserializer.class)
@DateTimeFormat(iso = DateTimeFormat.ISO.DATE)
@JsonFormat(pattern = "yyyy-MM-dd")
private LocalDate employeedateofbirth;

但对我来说似乎什么都不管用。任何帮助都将不胜感激。 提前谢谢


共 (1) 个答案

  1. # 1 楼答案

    如错误消息所示,存在类型不匹配。在你的目标课程中改变这一点:

    import com.datastax.driver.core.LocalDate;
    

    进入:

    import java.time.LocalDate;