亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

SetValuedMap 未被 Jackson 正確反序列化

SetValuedMap 未被 Jackson 正確反序列化

茅侃侃 2023-02-16 15:48:07
我正在使用一個Map<String, SetValuedMap<String, CustomerDomain>>. 我在調試時得到了正確的結果,但以下是我的控制器返回的結果。似乎杰克遜無法反序列化 SetValuedMap。{   "first": {      empty:false   },   "second": {      empty:false   }}
查看完整描述

1 回答

?
回首憶惘然

TA貢獻1847條經驗 獲得超11個贊

這是因為數據結構Map在反/序列化時需要一些特殊的邏輯,并且任何將 POJO 轉換為 JSON 的庫都對擴展接口的對象有一些自己的處理Map。

SetValuedMap需要這種處理,因為值不能直接從字段中讀取,而是可以使用put(..)get(..)方法讀?。ㄒ驗樗?中以相同的方式完成Map)。

但是:SetValuedMap不實現Map接口。它在例如方法返回值類型方面有所不同put(),因此在這個意義上它們是“不兼容的”。它是來自 Apache Commons 的實用程序類,而不是“標準 Java”。

因此杰克遜可能不知道如何反序列化這個類。您可能需要為 - 例如 - 編寫自定義 de/serializer MultiValuedMap


查看完整回答
反對 回復 2023-02-16
  • 1 回答
  • 0 關注
  • 85 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號