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 ... 
随机推荐
- nil 作比较时应该加上双引号 "
			> type(X) nil > type(X)==nil false > type(X)=="nil" true > 
- window.frames     &&    iframe 跨页面通信
			1.定义 frames[]是窗口中所有命名的框架组成的数组.这个数组的每个元素都是一个Window对象,对应于窗口中的一个框架. 2.用法 假设iframe 是一个以存在的 iframe 的 ID 和 ... 
- TensorFlow实现FM
			看了网上的一些用tf实现的FM,很多都没有考虑FM实际使用中数据样本稀疏的问题. 我在实现的时候使用 embedding_lookup_sparse来解决这个问题. 对于二阶部分,由于embeddin ... 
- 关于UDP很好的书籍和文章(整理、持续更新)
			文章 告知你不为人知的 UDP:疑难杂症和使用(必看) 
- bzoj1854: [Scoi2010]游戏 贪心
			lxhgww最近迷上了一款游戏,在游戏里,他拥有很多的装备,每种装备都有2个属性,这些属性的值用[1,10000]之间的数表示.当他使用某种装备时,他只能使用该装备的某一个属性.并且每种装备最多只能使 ... 
- Day41 openstack基础
			参考博客: http://www.cnblogs.com/linhaifeng/p/6264636.html 
- ARIMA模型——本质上是error和t-?时刻数据差分的线性模型!!!如果数据序列是非平稳的,并存在一定的增长或下降趋势,则需要对数据进行差分处理!ARIMA(p,d,q)称为差分自回归移动平均模型,AR是自回归, p为自回归项; MA为移动平均,q为移动平均项数,d为时间序列成为平稳时所做的差分次数
			https://www.cnblogs.com/bradleon/p/6827109.html 文章里写得非常好,需详细看.尤其是arima的举例! 可以看到:ARIMA本质上是error和t-?时刻 ... 
- POJ 3279 Filptile dfs
			题目链接:http://poj.org/problem?id=3279 大意:给出一块n*m的棋盘.里面放满了棋子.有1和0两种状态.给出初始状态,翻动的时候会把当前位置和当前位置的上下左右共五个位置 ... 
- rabbitmq之window环境启动
			rabbitmq启动方式有2种 1.以应用方式启动 rabbitmq-server -detached 后台启动 Rabbitmq-server 直接启动,如果你关闭窗口或者需要在改窗口使用其他命令时 ... 
- BOM之JavaScript常用事件
			body, table{font-family: 微软雅黑; font-size: 10pt} table{border-collapse: collapse; border: solid gray; ... 
