Jackson
Spring 提供 Jackson JSON 函式庫的支援。
基於 Jackson 的 JSON MVC 視圖
MappingJackson2JsonView
使用 Jackson 函式庫的 ObjectMapper
將回應內容呈現為 JSON。預設情況下,模型 Map 的所有內容(框架特定類別除外)都會編碼為 JSON。如果需要篩選 Map 的內容,您可以透過使用 modelKeys
屬性來指定要編碼的特定模型屬性集。您也可以使用 extractValueFromSingleKeyModel
屬性,讓單鍵模型中的值被提取並直接序列化,而不是作為模型屬性的 Map。
您可以根據需要使用 Jackson 提供的註解來自訂 JSON 對應。當您需要進一步控制時,您可以透過 ObjectMapper
屬性注入自訂的 ObjectMapper
,以在您需要為特定類型提供自訂 JSON 序列化器和反序列化器的情況下使用。
基於 Jackson 的 XML 視圖
MappingJackson2XmlView
使用 Jackson XML 擴充功能 的 XmlMapper
將回應內容呈現為 XML。如果模型包含多個條目,您應該使用 modelKey
Bean 屬性明確設定要序列化的物件。如果模型包含單個條目,則會自動序列化。
您可以根據需要使用 JAXB 或 Jackson 提供的註解來自訂 XML 對應。當您需要進一步控制時,您可以透過 ObjectMapper
屬性注入自訂的 XmlMapper
,以在您需要為特定類型提供自訂 XML 序列化器和反序列化器的情況下使用。