Jackson 和JSON:無法識別的字段的錯誤處理
當Jackson 遇到它嘗試映射的無法識別的屬性“包裝器”時,就會出現此問題到包裝類別。由於目標類別中未定義該字段,因此會失敗並顯示“UnrecognizedPropertyException”。
解決方案
要解決此問題,請利用 Jackson 的 JsonIgnoreProperties 註解。可以在類別層級應用此註解來指定應忽略任何無法識別的屬性。預設情況下,它會忽略 POJO 中未明確定義的任何屬性。
此註解的範例用法:
import com.fasterxml.jackson.annotation.JsonIgnoreProperties; @JsonIgnoreProperties class Wrapper { ... }
此註解可確保 JSON 中不對應的任何屬性反序列化期間將跳過 Wrapper 類別中定義的欄位。
進階選項
對於您想要忽略所有未聲明屬性的情況,即使是那些具有getter 和setter 的屬性在目標類別中定義的方法中,可以使用ignoreUnknown標誌:
@JsonIgnoreProperties(ignoreUnknown = true) class Wrapper { ... }
透過指定ignoreUnknown = true,Jackson將忽略JSON中任何在Wrapper類別中沒有對應欄位的屬性,無論getter 或setter 方法的存在。
以上是如何處理 Jackson JSON 反序列化中無法辨識的欄位?的詳細內容。更多資訊請關注PHP中文網其他相關文章!