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 序列化器和反序列化器的情况。