不管是返回json格式字符串还是返回一个类型对象或集合,最终的呈现效果都是json格式
返回json格式字符串
步骤一:在pom.xml中导入依赖包
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.9.4</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-core</artifactId>
<version>2.9.4</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-annotations</artifactId>
<version>2.9.4</version>
</dependency>
步骤二:java代码实现
@RequestMapping("/six")
@ResponseBody
public String test6() throws JsonProcessingException {
User user = new User();
user.setName("liu");
user.setAge(12);
ObjectMapper objectMapper = new ObjectMapper();
String re = objectMapper.writeValueAsString(user);
return re;
}
返回对象或集合
通过SpringMVC帮助我们对对象或集合进行json字符串的转换并回写,为处理器适配器配置消息转换参数,指定使用jackson进行对象或集合的转换,因此需要在spring-mvc.xml中进行如下配置:
<bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter">
<property name="messageConverters">
<list>
<bean class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter"></bean>
</list>
</property>
</bean>
但是这样配置比较麻烦,配置的代码比较多,因此,我们也可以使用mvc的注解驱动代替上述配置,直接在spring-mvc.xml文件中添加下面代码就行了
<mvc:annotation-driven></mvc:annotation-driven>
记得得在头部的beans中添加
xmlns:mvc="http://www.springframework.org/schema/mvc"
http://www.springframework.org/schema/mvc
http://www.springframework.org/schema/mvc/spring-mvc.xsd
java代码实现
@RequestMapping("/seven")
@ResponseBody
public User test7() {
User user = new User();
user.setName("haha");
user.setAge(13);
return user;
}