Spring MVC +JSON

来源:互联网 发布:crash撞车影评知乎 编辑:程序博客网 时间:2024/06/08 09:23

控制器里面使用@ResponseBody向前台返回相关信息

@Controllerpublic class JsonController {@RequestMapping("/json")@ResponseBodypublic List<User> getUser(){List<User> list = new ArrayList<User>();User u = null;for(int i =0; i < 20000; i++){u = new User();u.setId(i);u.setMsg(i+"aaaaaaaaa");u.setUname(i+"admin");u.setDate(new Date());list.add(u);}return list;}}

1)jackson

<mvc:annotation-driven><mvc:message-converters register-defaults="true"><bean class="org.springframework.http.converter.json.MappingJacksonHttpMessageConverter"><!-- 防止ie 下載 --><property name="supportedMediaTypes" value="text/html;charset=UTF-8" /></bean></mvc:message-converters></mvc:annotation-driven>

2)fastjson

<mvc:annotation-driven><mvc:message-converters register-defaults="true"><beanclass="com.alibaba.fastjson.support.spring.FastJsonHttpMessageConverter"><property name="supportedMediaTypes" value="text/html;charset=UTF-8" /><property name="features"><array><value>WriteMapNullValue</value><value>WriteNullStringAsEmpty</value></array></property></bean></mvc:message-converters></mvc:annotation-driven>

注:
1.@ResponseBody:将内容或对象作为 HTTP 响应正文返回,使用@ResponseBody将会跳过视图处理部分,而是调用适合的HttpMessageConverter,将返回值写入输出流。
2.配置文件中头部的 xsd文件3.0的不支持<mvc:annotation-driven>里面有子项配置。修改未4.0 或者不写spring-beans.xsd (默认最新)
3.解决序列化时候时间格式化问题,默认是解析成long类型的毫秒,这里可以在实体类里面使用@JSONField(format="yyyy-MM-dd HH:mm:ss")
@JSONField(format="yyyy-MM-dd HH:mm:ss")
private Date date;

0 0
原创粉丝点击