前言
在Spring Boot的Web应用中 内置了JSON数据的解析功能,默认使用Jackson自动完成解析(不需要解析加载Jackson依赖包)当控制器返回一个Java对象或集合数据时 Spring Boot自动将其转换成JSON数据,使用起来很方便简洁。
Spring Boot处理JSON数据时,需要用到两个重要的JSON格式转换注解,分别是@RquestBody
@ResponseBody 他们的作用分别如下
@RequestBody:用于将请求体中的数据绑定到方法的形参中,该注解应用在方法的形参上
@ResponseBody:用于直接返回JSON对象 该注解应用在方法上
下面通过一个实例讲解Spring Boot处理JSON数据的过程,该实例针对返回实体对象,ArrayList集合,Map集合以及List
步骤如下
1、创建实体类
在应用的com.ch.ch5_2.model包中 创建实体类Preson 代码如下
package com.ch.ch5_2.model; public class Preson { private String pname; private String password; private Integer page; public String getPname() { return pname; } public void setPname(String pname) { this.pname = pname; } public String getPassword() { return password; } public void setPassword(String password) { this.password = password; } public Integer getPage() { return page; } public void setPage(Integer page) { this.page = page; } }
2、创建视图页面
在src/main/resources/templates目录下 创建视图页面 input.html 并且引入jQuery框架 并使用它的ajax方法进行异步请求 部分代码如下(此处需要一些Java Web开发的知识 如有不明白的可以参考我之前的博客 进主页就有)
Insert title here function testJson() { //获取输入的值pname为id var pname = $("#pname").val(); var password = $("#password").val(); var page = $("#page").val(); alert(password); $.ajax({ //发送请求的URL字符串 url : "testJson", //定义回调响应的数据格式为JSON字符串,该属性可以省略 dataType : "json", //请求类型 type : "post", //定义发送请求的数据格式为JSON字符串 contentType : "application/json", //data表示发送的数据 data : JSON.stringify({pname:pname,password:password,page:page}), //成功响应的结果 success : function(data){ if(data != null){ //返回一个Person对象 //alert("输入的用户名:" + data.pname + ",密码:" + data.password + ",年龄:" + data.page); //ArrayList对象 /**for(var i = 0; i < data.length; i++){ alert(data[i].pname); }**/ //返回一个Map对象 //alert(data.pname);//pname为key //返回一个List<Map>对象 for(var i = 0; i < data.length; i++){ alert(data[i].pname); } } }, //请求出错 error:function(){ alert("数据发送失败"); } }); } hicon-pencil">