SpringBoot入门篇--对于JSON数据的返回以及处理二
我们在进行开发的过程的难免会进行对象的返回,比如一个用户对象User,以及一个集合list,Map等等。在这篇博客中我们就是需要学习一下怎么对一个对象中某些属性的处理。需要补充的一点就是SpringBoot采用的是JackSon进行的序列化以及反序列化,不用我们自己去进行实现,它是自动实现。我们也可以改变它实现的方式或者说我们可以自己去定义序列化和反序列化。当然,因为SpringBoot帮我们做的已是相当好的了,所以基本不用我们自己去进行处理。如果在开发过程中遇到特殊的需求可以自己进行一系列处理。这相对于我们使用SSM开发项目来说就避免了jar包的导入以及设置。
首先我们创建一个用户类User,如下图所示:


在这个类里面只有最基础的属性:姓名,密码,生日,描述。
我们统一对类上的一些类注解,属性注解进行解释以及描述。
数据隐藏:
我们在进行数据返回的时候肯定是有些属性不希望前端可以获取到,或者是某些数据为空的时候前端要求不必进行回传,那么这时候我们就可以进行属性的隐藏。
@JsonIgnore:使用在某个属性上,这样在序列化和反序列化的时候都会忽略这个属性,最直接的效果就是返回的JSON属性是没有这个属性的,一般作用于密码这系列的属性。
@JsonInclude:使用在某个属性上,配合它的属性Value=JsonInclude.Include.NON_NULL,表示的是如果这个属性的属性值为空那么在返回前端的时候不可见。
@JsonProperty:使用在某个属性上,这个注解有两个作用,第一是修改返回JSON数据的时候key值为value指定值,第二个作用是配合属性access=JsonProperty.Access.WRITE_ONLY表示属性只可以进行 序列化而不能进行反序列化,直观效果就是返回的数据没有该属性。
@JsonIgnoreProperties:作用在类声明处,它和@JsonIgnore注解的区别就是可以对多个属性作用,直接在value属性后面使用大括号逗号隔开即可,它的ignoreUnknow属性为true表示忽略未定义的属性。
日期:
我们直接使用日期出来的格式必然不是我们想要的,那么我们可以使用注解:@JsonFormat配合上属性pattern标志事件格式,timezone是时区,local是区域。在这里必须强调的是这是把日期格式化为 String,一般应用在后台向前端传递数据,如果是前端的String格式需要解析为日期格式我们可以使用@DateTimeFormat即可。
排序:
有时候为了规范好看我们也需要让属性按照一定顺序进行排列,这时候我们就使用@JsonPropertyOrder这个注解,它的属性alphabetic默认值是false,我们设置为true即可。
大概的Json数据处理使用到的注解基本上也就这些了,当然其他功能更强大的注解大家有兴趣可以在下去自己学习,查看一个注解的使用方法和效果最好的办法就是写Demo。
SpringBoot入门篇--对于JSON数据的返回以及处理二的更多相关文章
- SpringBoot入门篇--对于JSON数据的返回以及处理一
在后台的开发过程中不可避免的就是一系列对JSON数据的返回,需要我们进行的就是提供各种各样的数据.一般情况下数据类型最常用的就是JSON以及XML,在这里我们就讲讲在SpringBoot里面我们怎样进 ...
- Farseer.net轻量级开源框架 入门篇:添加数据详解
导航 目 录:Farseer.net轻量级开源框架 目录 上一篇:Farseer.net轻量级开源框架 入门篇: 分类逻辑层 下一篇:Farseer.net轻量级开源框架 入门篇: 修改数据详解 ...
- Farseer.net轻量级开源框架 入门篇:查询数据详解
导航 目 录:Farseer.net轻量级开源框架 目录 上一篇:Farseer.net轻量级开源框架 入门篇: 删除数据详解 下一篇:Farseer.net轻量级开源框架 中级篇: Where条 ...
- iOS开发网络篇—发送json数据给服务器以及多值参数
iOS开发网络篇—发送json数据给服务器以及多值参数 一.发送JSON数据给服务器 发送JSON数据给服务器的步骤: (1)一定要使用POST请求 (2)设置请求头 (3)设置JSON数据为请求体 ...
- 【Spring学习笔记-MVC-5】利用spring MVC框架,实现ajax异步请求以及json数据的返回
作者:ssslinppp 时间:2015年5月26日 15:32:51 1. 摘要 本文讲解如何利用spring MVC框架,实现ajax异步请求以及json数据的返回. Spring MV ...
- JSONArray ja = JSONArray.fromObject(list);//特殊类 用于将list转化为JSON 数据并返回 out.print(ja);
JSONArray ja = JSONArray.fromObject(list);//特殊类 用于将list转化为JSON 数据并返回out.print(ja);
- Farseer.net轻量级开源框架 入门篇:修改数据详解
导航 目 录:Farseer.net轻量级开源框架 目录 上一篇:Farseer.net轻量级开源框架 入门篇: 添加数据详解 下一篇:Farseer.net轻量级开源框架 入门篇: 删除数据详解 ...
- Farseer.net轻量级开源框架 入门篇:删除数据详解
导航 目 录:Farseer.net轻量级开源框架 目录 上一篇:Farseer.net轻量级开源框架 入门篇: 修改数据详解 下一篇:Farseer.net轻量级开源框架 入门篇: 查询数据详解 ...
- 【转】AJAX中JSON数据的返回处理问题
AJAX处理复杂数据时,便会使用JSON格式.常用在对数据库的数据查询上.在数据库查询到数据后,便可在处理页面直接将数据转为JSON格式,然后返回. 本篇主要讨论:jQuery中,JSON数据在AJA ...
随机推荐
- windows下的IO模型之选择(select)模型
1.选择(select)模型:选择模型:通过一个fd_set集合管理套接字,在满足套接字需求后,通知套接字.让套接字进行工作. 选择模型的核心是FD_SET集合和select函数.通过该函数,我们可以 ...
- HDU 4540 线性DP
威威猫系列故事——打地鼠 Time Limit: 300/100 MS (Java/Others) Memory Limit: 65535/32768 K (Java/Others)Total ...
- div固定顶部和底部
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- Hadoop1.x HDFS系统架构
1. HDFS中的一些概念1.1 数据块1.2 NameNode和DataNode1.2.1 管理者:Namenode1.2.1 工作者:Datanode1.3 Secondary Namenode1 ...
- C++设计模式之组合模式
DP书上给出的定义:将对象组合成树形结构以表示“部分-整体”的层次结构.组合使得用户对单个对象和组合对象的使用具有一致性.注意两个字“树形”.这种树形结构在现实生活中随处可见,比如一个集团公司,它有一 ...
- Python3 条件控制(九)
Python条件语句是通过一条或多条语句的执行结果(True或者False)来决定执行的代码块. 可以通过下图来简单了解条件语句的执行过程: if 语句 Python中if语句的一般形式如下所示: i ...
- 201621123010《Java程序设计》第4周学习总结
1. 本周学习总结 1.1 写出你认为本周学习中比较重要的知识点关键词. 继承extends.多态.抽象类 超级父类Object类.父类.子类. 覆盖Override 初始化块 识别类 重载 1.2 ...
- Shell排序算法和合并排序算法
Shell排序(希尔排序)算法Shell排序严格来说基于插入排序的思想,其又称为希尔排序或者缩小增量排序. Shell排序的流程:1.将由n个元素的数组分成n/2个数字序列,第1个数据和第n/2+1个 ...
- SocketServer模块 《Python核心编程(第3版)》——2.5
本文内容参考文章地址: https://m.aliyun.com/yunqi/articles/93088/ SocketServer模块 SocketServer是标准库中的一个高级模块(Pytho ...
- jquery.cycle.js
jquery.cycle.js简单用法实例 样式: a{text-decoration: none;} *{margin:0; padding:0;} /*容器设置*/ .player { width ...