Spring MVC 中配置 Jackson 实现 JSON 序列化和反序列化
要在 Spring MVC 中配置 Jackson,需要做以下几个步骤:
- 添加 Jackson 相关的依赖到项目的 pom.xml 文件中:
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>${jackson.version}</version>
</dependency>
- 在 Spring MVC 的配置文件中,配置
MappingJackson2HttpMessageConverterbean,该 bean 将处理 JSON 和 Java 对象之间的转换:
<bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter">
<property name="messageConverters">
<list>
<bean class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter">
<property name="supportedMediaTypes">
<list>
<value>application/json</value>
</list>
</property>
</bean>
</list>
</property>
</bean>
- 配置 Jackson 的序列化和反序列化特性,可以通过在配置文件中添加以下代码来进行配置:
<bean id="jacksonObjectMapper" class="com.fasterxml.jackson.databind.ObjectMapper">
<property name="serializationInclusion" value="NON_NULL"/>
<property name="dateFormat">
<bean class="java.text.SimpleDateFormat">
<constructor-arg value="yyyy-MM-dd HH:mm:ss"/>
</bean>
</property>
</bean>
这将设置 Jackson 在序列化时忽略空值,并使用指定的日期格式进行序列化。
- 最后,在 Spring MVC 的控制器中,可以使用
@ResponseBody注解将 Java 对象直接转换为 JSON 响应:
@Controller
public class MyController {
@RequestMapping("/data")
@ResponseBody
public MyObject getData() {
// 返回一个 Java 对象,将自动转换为 JSON 响应
return new MyObject();
}
}
以上是配置 Jackson 在 Spring MVC 中进行 JSON 序列化和反序列化的基本步骤。根据具体的需求,还可以进行更多的配置和定制化操作。
原文地址: http://www.cveoy.top/t/topic/qtWh 著作权归作者所有。请勿转载和采集!