如何修复 'com.fasterxml.jackson.databind.JsonMappingException: Problem deserializing property' 错误
How to fix 'com.fasterxml.jackson.databind.JsonMappingException: Problem deserializing property' error
我正在使用对象映射器将 yyyy-MM-dd 格式的日期字符串转换为 com.datastax.driver.core.LocalDate,并将该数据保存到我的 java spring 引导项目中的 Cassandra 中。
我在 Cassandra 中的专栏类型是日期,我在我的 java class 中使用 com.datastax.driver.core.LocalDate。
但是在将地图转换为我的 java class 时,它会抛出错误 "com.fasterxml.jackson.databind.JsonMappingException: Problem deserializing property 'employeedateofbirth' (expected type: [simple type, class com.datastax.driver.core.LocalDate]; actual type: java.time.LocalDate
), problem: argument type mismatch"。
我没有使用 java.time.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;
但似乎没有什么对我有用。任何帮助,将不胜感激。
提前致谢。
如错误消息所示,类型不匹配。在你的目标中改变这个 class:
import com.datastax.driver.core.LocalDate;
进入:
import java.time.LocalDate;
我正在使用对象映射器将 yyyy-MM-dd 格式的日期字符串转换为 com.datastax.driver.core.LocalDate,并将该数据保存到我的 java spring 引导项目中的 Cassandra 中。
我在 Cassandra 中的专栏类型是日期,我在我的 java class 中使用 com.datastax.driver.core.LocalDate。
但是在将地图转换为我的 java class 时,它会抛出错误 "com.fasterxml.jackson.databind.JsonMappingException: Problem deserializing property 'employeedateofbirth' (expected type: [simple type, class com.datastax.driver.core.LocalDate]; actual type: java.time.LocalDate
), problem: argument type mismatch"。
我没有使用 java.time.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;
但似乎没有什么对我有用。任何帮助,将不胜感激。 提前致谢。
如错误消息所示,类型不匹配。在你的目标中改变这个 class:
import com.datastax.driver.core.LocalDate;
进入:
import java.time.LocalDate;