在 Spring 中設定 ObjectMapper
在 Spring 中,可以設定 ObjectMapper 來自定義序列化和反序列化過程的行為。一個常見的用例是排除欄位被序列化,除非它們使用特定註釋進行註釋,例如 @JsonProperty。
問題:
將 ObjectMapper配置為僅序列化用@JsonProperty註釋的字段,NumbersOfNewEvents類仍然包含序列化中的所有屬性JSON.
答案:
servlet.xml中定義的自訂CompanyObjectMapper並沒有被Spring使用。解決方案是使用 @Configuration 註解 CompanyObjectMapper bean,並將其定義為 Spring 配置類別中的 bean 方法。這將確保 Spring 選擇並使用自訂 ObjectMapper。
以下是如何使用 Spring Boot 實現此目的的範例:
@Configuration public class JacksonConfiguration { @Bean public ObjectMapper objectMapper() { return new CompanyObjectMapper(); } }
此配置會覆寫預設的 ObjectMapper bean,並且確保自訂 CompanyObjectMapper 用於序列化和反序列化。
注意: CompanyObjectMapper 類別中定義的 VisibilityChecker 對使用 Jackson 2.4.6 進行序列化沒有影響。若要從序列化中排除字段,請改用 @JsonIgnore 註解。
以上是如何讓 Spring 使用我的自訂 ObjectMapper 進行序列化和反序列化?的詳細內容。更多資訊請關注PHP中文網其他相關文章!