相信大家做项目的时候,遇到最多的就是后端返回数据到前端了,一般我们返回JSON格式的数据,在步入正题之前,我们先讲一下什么是JSON?使用JSON有什么好处?
JSON(JavaScript Object Notation, JS 对象简谱) 是一种轻量级的数据交换格式。它基于 ECMAScript (欧洲计算机协会制定的js规范)的一个子集,采用完全独立于编程语言的文本格式来存储和表示数据。简洁和清晰的层次结构使得 JSON 成为理想的数据交换语言。 易于人阅读和编写,同时也易于机器解析和生成,并有效地提升网络传输效率。
解释来自于百度百科,说简单点。JSON就是一串字符串 只不过元素会使用特定的符号标注。
{
"username": "清风一阵吹我心",
"password": "123456"
}
[
"one",
"two",
"three"
]
{
"student": [
"张三",
"李四",
"王五"
],
"teacher": [
"语文",
"数学",
"英语"
]
}
[
{
"username": "张三",
"age": 18
},
{
"username": "李四",
"age": 20
}
]
{
"msg": "查询成功",
"code": 200,
"data": {
"provinces": [
{
"name": "重庆",
"cities": [
{
"name": "重庆市",
"district": [
"江北区",
"渝北区",
"万州区",
"合川区"
]
}
]
},
{
"name": "北京",
"cities": [
{
"name": "北京市",
"district": [
"海淀区",
"昌平区",
"朝阳区",
"丰台区"
]
}
]
}
]
}
}
JSON的知识,就讲到这里,下面我们讲一下在springboot中怎么返回JSON数据吧。
相信大家在使用spring的时候,要想后端返回JSON 数据,还要加入相关jar包,例如:Jackson和FastJson,然后在spring的配置文件中配置解析器和转换器。有些伙伴就在想,我就想返回一个JSON格式的数据,为什么这么麻烦呢?那我告诉你,springboot完美的帮你解决了问题。
还是接着上节的知识讲今天的内容,所以,项目就不重新搭了。如果有刚接触的伙伴,可以看一下上面两节的内容。
https://blog.csdn.net/qq_32101993/article/details/84582927 springboot入门程序搭建
首先我们创建一个User对象
//这里使用的是lombok工具,自动生成getter、setter方法
@Data
public class User {
private String username;
private String password;
private int age;
}
这里我使用了lombok工具,如果有不明的,可以去看一下关于这个的相关知识,后续课程会详细说明,这里只是使用了它自动生成getter、setter等的方法。
然后创建一个控制层,编写伪代码。
@RestController
public class JsonController {
@GetMapping("/user")
public User selectOne() {
User user = new User();
user.setUsername("清风一阵吹我心");
user.setPassword("123456");
user.setAge(15);
return user;
}
}
然后访问地址:http://localhost:8081/user ,看到下面结果。
同样使用User类,只改变控制层的方法。
@GetMapping("/users")
public List<User> selectAll() {
List<User> list = new ArrayList<>();
User user;
for (int i = 0; i < 3; i++) {
user = new User();
user.setUsername("A" + i);
user.setPassword(i + "123");
user.setAge(i);
list.add(user);
}
return list;
}
然后访问地址:http://localhost:8081/users ,看到下面结果。
首先,我们创建一个自定义对象。
@Data
public class Result<T> {
private String msg;
private Integer code;
private T data;
}
然后创建一个操作它的工具类
public class ResultBean {
public static Result success(String msg, Object object) {
Result result = new Result();
result.setCode(200);
result.setMsg(msg);
result.setData(object);
return result;
}
public static Result success(String msg) {
return success(msg, null);
}
public static Result fail(String msg,Integer code){
Result result = new Result();
result.setCode(code);
result.setMsg(msg);
return result;
}
}
最后书写控制层的代码
@GetMapping("/select")
public Result<User> findOne(){
User user = new User();
user.setUsername("清风一阵吹我心");
user.setPassword("12345");
user.setAge(20);
return ResultBean.success("查询成功",user);
}
然后访问地址:http://localhost:8081/select ,看到下面结果。
推荐大家使用第三种方法,向前端返回数据。不然有的时候,你的方法返回一个对象,有时返回集合,这样导致代码可读性差,不易维护。如果返回一个统一的格式,代码就很清晰了。
好了,今天的分享就到这里了,希望与你们一起进步。
如果您喜欢这篇文章呢,可以动一下你的小手,访问一下博主的个人博客吧,里面也有一些学习心得和大家分享。
博客地址:https://www.qfcwx.top/
“你为什么要那么努力?” “ 因为我喜欢的东西都很贵,我想去的地方都很远,我爱的人超完美。”