一. JSON
现在的开发中,几乎都是前后端分离的形式,越来越多的请求使用Ajax的异步请求,而不再是传统的跳转,使用Ajax异步请求之后,我们后端处理结果大多以JSON的形式进行响应,响应给前端,前端得到响应结果后,进行处理和渲染。在SpringMVC中,使用JSON非常的简单,SpringMVC中可以将集合等数据自动的转换成JSON数据格式,当然我们需要加入JSON相关的依赖。
二、JSON数据格式
JSON数据就是一段字符串而已,只不过有不同意义的分隔符将其分割开来而已,我们看上面的符号,里面有[] ,{}等符号。
1、[]中括号代表的是一个数组
[{"name":"胡小威" , "age":20 , "male":true},{"name":"赵小亮" , "age":22 , "male":false}]
2、{}大括号代表的是一个对象
{"name":"胡小威" , "age":20 , "male":true}
3、混合
{'total':80,'rows':10,[{'bookNane':'三资金','price':100},{'bookName':'金刚经','price':200}]
双引号""表示的是属性值
冒号:代表的是前后之间的关系,冒号前面是属性的名称,后面是属性的值,这个值可以是基本数据类型,也可以是引用数据类型
三、返回JSON配置步骤
1、首先导入JSON的相关依赖
在pom.xml中配置
<!--jackson-->
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>${jackson.version}</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-core</artifactId>
<version>${jackson.version}</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-annotations</artifactId>
<version>${jackson.version}</version>
</dependency>
2、在springmvc.xml文件中配置JSON的消息转换器
<bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter">
<property name="messageConverters">
<list>
<ref bean="mappingJackson2HttpMessageConverter"/>
</list>
</property>
</bean>
<bean id="mappingJackson2HttpMessageConverter"
class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter">
<!--处理中文乱码以及避免IE执行AJAX时,返回JSON出现下载文件-->
<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>
</bean>
3、在控制层使用@ResponseBody注解标记请求处理方法
被该注解所标记的请求处理方法将返回JSON格式的数据,绕开视图解析器
注:开启注解式开发使用
四、返回JSON数据格式
1、返回List泛型格式的JSON数据
@RequestMapping("/queryListBooks")
@ResponseBody
public List<Book> queryListBooks(Book book,HttpSer