簡體   English   中英

如何修復“com.fasterxml.jackson.databind.JsonMappingException:反序列化屬性問題”錯誤

[英]How to fix 'com.fasterxml.jackson.databind.JsonMappingException: Problem deserializing property' error

我正在使用對象映射器將 yyyy-MM-dd 格式的日期字符串轉換為 com.datastax.driver.core.LocalDate 並將該數據保存到我的 java spring boot 項目中的 Cassandra 中。 我在 Cassandra 中的列類型是日期,我在我的 java 類中使用 com.datastax.driver.core.LocalDate 。 但是在將映射轉換為我的 java 類時,它會拋出錯誤“com.fasterxml.jackson.databind.JsonMappingException: Problem deserializing property 'employeedateofbirth'(預期類型:[簡單類型,類 com.datastax.driver.core.LocalDate]; 實際類型: java.time.LocalDate ),問題:參數類型不匹配”。 我沒有使用 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;

但似乎沒有什么對我有用。 任何幫助,將不勝感激。 提前致謝。

如錯誤消息所示,存在類型不匹配。 在你的目標類中改變這個:

import com.datastax.driver.core.LocalDate;

進入:

import java.time.LocalDate;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM