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
,用于需要为特定类型提供自定义序列化器和反序列化器的情况。