將Jackson 配置為僅使用欄位:綜合解決方案
將物件序列化和反序列化為JSON 時,Jackson 預設情況下同時使用getter/setter (屬性)和字段。但是,有時您可能更願意僅依賴欄位來執行此過程。以下是實現此目的的方法:
在單一類別層級上,您可以使用 @JsonAutoDetect 註解控制行為,如問題中所述。對於全域配置,您可以如下自訂 ObjectMapper:
ObjectMapper mapper = new ObjectMapper(); mapper.setVisibility( mapper.getSerializationConfig().getDefaultVisibilityChecker() .withFieldVisibility(JsonAutoDetect.Visibility.ANY) .withGetterVisibility(JsonAutoDetect.Visibility.NONE) .withSetterVisibility(JsonAutoDetect.Visibility.NONE) .withCreatorVisibility(JsonAutoDetect.Visibility.NONE) );
如果您需要全域存取已配置的映射器,請考慮使用包裝器類別進行集中配置。
以上是如何將 Jackson 配置為僅使用欄位進行 JSON 序列化和反序列化?的詳細內容。更多資訊請關注PHP中文網其他相關文章!