跳到主要内容

Jackson

ChatGPT-4o-mini 中英对照 Jackson

Spring 提供对 Jackson JSON 库的支持。

基于 Jackson 的 JSON MVC 视图

MappingJackson2JsonView 使用 Jackson 库的 ObjectMapper 将响应内容呈现为 JSON。默认情况下,模型映射的全部内容(框架特定类除外)被编码为 JSON。在需要过滤映射内容的情况下,可以使用 modelKeys 属性指定要编码的一组特定模型属性。您还可以使用 extractValueFromSingleKeyModel 属性直接提取并序列化单键模型中的值,而不是作为模型属性的映射。

您可以根据需要自定义 JSON 映射,使用 Jackson 提供的注解。当您需要进一步控制时,可以通过 ObjectMapper 属性注入自定义 ObjectMapper,以便在需要为特定类型提供自定义 JSON 序列化器和反序列化器的情况下使用。

基于 Jackson 的 XML 视图

MappingJackson2XmlView 使用 Jackson XML 扩展XmlMapper 将响应内容呈现为 XML。如果模型包含多个条目,您应该通过使用 modelKey bean 属性显式设置要序列化的对象。如果模型包含单个条目,则会自动序列化。

您可以根据需要使用 JAXB 或 Jackson 提供的注解自定义 XML 映射。当您需要进一步控制时,可以通过 ObjectMapper 属性注入自定义 XmlMapper,以便在需要为特定类型提供自定义序列化器和反序列化器的情况下使用。