利用Spring Boot处理JSON数据实战(包括jQuery,html,ajax)附源码 超详细

在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







hicon-pencil">
							
							
						

3:创建控制器

在ch5_2应用的com.ch.ch5_2.controller包中  创建控制器类TestJsonController 在该类中有两个处理方法,一个时界面导航方法,一个是接受页面请求的方法 部分代码如下

package com.test.ch3_2.controller;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import com.ch.ch5_2.model.Preson;
@Controller
public class TestJsonController {
	/**
	 * 进入视图页面
	 */
	@RequestMapping("/input")
	public String input() {
		return "input";
	}
	/**
	 * 接收页面请求的JSON数据
	 */
	@RequestMapping("/testJson")
	@ResponseBody
	/*@RestController注解相当于@ResponseBody + @Controller合在一起的作用。
	1) 如果只是使用@RestController注解Controller,则Controller中的方法无法返回jsp页面或者html,
	返回的内容就是Return的内容。
	2) 如果需要返回到指定页面,则需要用 @Controller注解。如果需要返回JSON,XML或自定义mediaType内容到页面,
	则需要在对应的方法上加上@ResponseBody注解。
    */
	public List> testJson(@RequestBody Preson user) {
		//打印接收的JSON格式数据
		System.out.println("pname=" + user.getPname() +
				", password=" + user.getPassword() + ",page=" + user.getPage());
		//返回Person对象
	
		Map map1 = new HashMap();
		map1.put("pname", "陈恒3");
		map1.put("password", "54321");
		map1.put("page", 55);
		allp.add(map1);
		return allp;
	}
}

然后运行Ch52Application主类 然后访问http://localhost:8080/ch5_2/input

运行效果如下

利用Spring Boot处理JSON数据实战(包括jQuery,html,ajax)附源码 超详细_第1张图片

 

你可能感兴趣的:(JAVA,Web,json,spring,boot,java,ajax,jquery)