Jackson
Spring支持Jackson JSON库。
基于Jackson的JSON MVC视图
MappingJackson2JsonView
使用Jackson库的ObjectMapper
将响应内容呈现为JSON。默认情况下,模型映射的整个内容(除了特定于框架的类)都被编码为JSON。对于需要过滤映射内容的情况,您可以使用modelKeys
属性指定要编码的特定模型属性集。您还可以使用extractValueFromSingleKeyModel
属性,使单键模型中的值被提取并直接序列化,而不是作为模型属性映射。
您可以通过使用Jackson提供的注解根据需要自定义JSON映射。当您需要进一步控制时,可以通过ObjectMapper
属性注入自定义ObjectMapper
,用于为特定类型提供自定义JSON序列化器和反序列化器的情况。
基于Jackson的XML视图
MappingJackson2XmlView
使用Jackson XML扩展的XmlMapper
将响应内容呈现为XML。如果模型包含多个条目,您应该通过使用modelKey
bean属性明确设置要序列化的对象。如果模型包含单个条目,则会自动序列化。
您可以根据需要使用JAXB或Jackson提供的注解自定义XML映射。当您需要进一步控制时,可以通过ObjectMapper
属性注入自定义XmlMapper
,用于为特定类型提供自定义XML序列化器和反序列化器的情况。