SpringMVC框架中提供了对JSON数据的支持,可以直接处理JSON数据。
导包
配置文件,配置JSON转换器
<!--处理器适配器 -->
<bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter">
<property name="messageConverters">
<list>
<bean class="org.springframework.http.converter.json.MappingJacksonHttpMessageConverter"></bean>
</list>
</property>
</bean>
或者使用注解驱动(强烈推荐,极其方便)
<mvc:annotation-driven />
假设用户请求传入了一个User类中所有属性集合的json数据。
我们只需在SpringMVC处理器中绑定User类的形参,然后在形参前加入@RequestBody注解,SpirngMVC即可帮我们解析JSON字符串然后把其中的值映射到一个User类型对象然后传参(json中的key与user类中对应属性名称一致)。如果我们希望返回值是一个json字符串,我们可以在方法上加上注解@ResponseBody,实现将方法返回java对象转换为json响应给客户端。
@RequestMapping("testJson")
@ResponseBody
public @ResponseBody User testJson(@RequestBody User user) {
//json中的值会被映射到User中
//返回的User对象会被转换为json字符串
return user;
}