springmvc4使用fastjson返回json
阿新 • • 發佈:2019-01-07
1.導包
fastjson-1.2.9.jar
2.springmvc.xml檔案配置
<mvc:annotation-driven>
<mvc:message-converters register-defaults="true">
<!-- 配置fastjson支援
supportedMediaTypes:支援的json型別
-->
<bean class="com.alibaba.fastjson.support.spring.FastJsonHttpMessageConverter">
<property name="supportedMediaTypes">
<list>
<value>text/html;charset=UTF-8</value>
<value>text/json;charset=UTF-8</value>
<value>application/json;charset=UTF-8</value>
</list>
</property>
<!--
QuoteFieldNames-輸出key時是否使用雙引號,預設為true
WriteMapNullValue-是否輸出值為null的欄位,預設為false
WriteNullNumberAsZero-數值欄位如果為null,輸出為0,而非null
WriteNullListAsEmpty-List欄位如果為null,輸出為[],而非null
WriteNullStringAsEmpty-字元型別欄位如果為null,輸出為"",而非null
WriteNullBooleanAsFalse-Boolean欄位如果為null,輸出為false,而非null
-->
<property name="features">
<list>
<!-- <value>WriteMapNullValue</value> -->
<value>QuoteFieldNames</value>
</list>
</property>
</bean>
</mvc:message-converters>
</mvc:annotation-driven>
3.controller的操作
只需要配置返回值,在其前面新增@responebody即可。返回值的型別為 map型別
@RequestMapping(path="/showAll2")
@ResponseBody
publicMap<String , List<Emp>> findALlEmp2(){
List<Emp> empList = new ArrayList<Emp>();
for(int i =0;i<10;i++){
Emp emp = new Emp();
emp.setComm("comm"+i);
emp.setDeptno("deptno"+i);
emp.setEmpno("empno"+i);
emp.setEname("ename"+i);
emp.setHiredate("hiredate"+i);
emp.setJob("job"+i);
emp.setMgr("mgr"+i);
emp.setSal("sal"+i);
empList.add(emp);
}
Map<String, List<Emp>> hashMap = new HashMap<String ,List<Emp>>();
hashMap.put("empList", empList);
return hashMap;
}