fastjson使用-- @JSONField使用(转)
@JSONField可以配置到字段和方法上,那不同的配置有什么不同呢?下面我们就来看看具体配置到不同的方法上。
我们在创建实体类的时候,都要求属性必须创建get和set方法,否则fastjson将不会进行识别,下面我们看看把@JSONField配置到具体的get和set方法上
/*** @Title: getDate * @Description: 配置序列化的时候,日期序列化为startDate* @return Date*/ @JSONField(name = "startDate") public Date getDate() {return date; }/*** @Title: setDate * @Description: 配置反序列化的时候,以endDate去匹配* @param date* @return void*/ @JSONField(name = "endDate") public void setDate(Date date) {this.date = date; }/*** @Title: getId * @Description: 配置序列化的时候,不序列化id* @return int*/ @JSONField(serialize = false) public int getId() {return id; }/*** @Title: setId * @Description: 配置反序列化的时候,不反序列化id* @return void*/ @JSONField(deserialize = false) public void setId(int id) {this.id = id; }
具体的代码,就是上面的,挺简单的。下面来看看结果:
{"age":25,"name":"LiLei","sex":"男","startDate":1451985134688} User [id=0, name=LiLei, age=25, sex=男, date=Tue Jan 05 17:04:47 CST 2016
我们看到id既没有序列化也没有反序列化,date字段序列化的时候变为了startDate
我们再来看看下面的代码看看结果跟上面做个比较:
// 反序列化 String jsonStr = "{\"id\":10,\"age\":25,\"name\":\"LiLei\",\"sex\":\"男\",\"startDate\":1451984687404}"; // @JSONField配置了,不反序列化id,date的匹配name为endDate Uo2 uo = JSON.parseObject(jsonStr, Uo2.class); System.out.println(uo.toString());
再来看看结果:
User [id=0, name=LiLei, age=25, sex=男, date=null]
这个时候我们看到没有识别到date,因为我们在date字段的set方法上配置了@JSONField(name = "endDate")所以其在识别的时候,是通过endDate去识别key的,而我们的json数据里根本没有endDate这个key,所以没法识别。
根据上面我们可以总结出一个结论:
1.序列化(JavaBean --> json)时配置到对应字段的get()方法上
2.反序列化(json --> JavaBean)时配置到对应字段的set()方法上
转载于:https://www.cnblogs.com/heqiyoujing/p/9459702.html
fastjson使用-- @JSONField使用(转)相关推荐
- fastjson的@JSONField注解
fastjson的@JSONField注解 @JSONField作用:在字段和方法上1.Field:@JSONField作用在Field时,name可以定义输入key的名字,反序列化的时 值不会赋值到 ...
- fastjson之@JSONField注解的几个的使用详细示范
首先这个注解有个参数可以设置,具体是:ordinal,name,format,serialize,deserialize.等等,后面的不常用啊. 先看model类. package com.lxk.m ...
- java jsonfield_关于fastjson的@JSONField注解的一些问题(详解)
@jsonfield 看源码它可以作用于字段和方法上. 引用网上说的, 一.作用field @jsonfield作用在field时,其name不仅定义了输入key的名称,同时也定义了输出的名称. 但是 ...
- fastjson忽略JSONField
fastjson忽略JSONField 在字段上加上如下属性即可包是 import com.fasterxml.jackson.annotation.JsonIgnore;@JsonIgnorepri ...
- fastjson之——@JSONField
refer:https://blog.csdn.net/a984171281/article/details/107256198 文章目录 前言 区别 1.框架不同: 2.用法不同: 前言 @Json ...
- FastJson小技巧——@JSONField的史上最全最详细讲解——一看就会
常见:使用fastjson进行需要对字段进行一些特殊处理,比如时间格式,前后端名字不一致,字段为null是否依然序列化等问题.那么fastjson的@JSONField就能很好的解决这些问题. @JS ...
- FastJson小技巧——@JSONField
常见:使用fastjson进行需要对字段进行一些特殊处理,比如时间格式,前后端名字不一致,字段为null是否依然序列化等问题.那么fastjson的@JSONField就能很好的解决这些问题. @JS ...
- 42. fastjson处理下划线和驼峰问题的方法和源码分析
一. 前言 在开发过程中经常遇到json解析和生成的问题,所以用自己也一直用fastjson来实现这个功能. 但是,最近遇到一个问题: json字符串里面的数据很多都是"_"下划线 ...
- 5.spring boot使用FastJson解析JSON数据
2019独角兽企业重金招聘Python工程师标准>>> 1.引入FastJson依赖包 <dependency><groupId>com.alibaba< ...
- FastJson常见问题
1. 怎么获得fastjson? 你可以通过如下地方下载fastjson: maven中央仓库: http://central.maven.org/maven2/com/alibaba/fastjso ...
最新文章
- [ASP.NET] Session 详解
- java合并整形_java中2个int合并成一个long
- 海量数据库及分区4——《12年资深DBA教你Oracle开发与优化——性能优化部分》...
- 取sql数据乱码_不基于备份和表,生产系统数据误删就能完全恢复
- 2018 大湾区(深圳) .NET技术分享交流会 第一期
- [html] 如何实现标题栏闪烁、滚动的效果
- s5pv210——时钟系统
- 为什么linux桌面很刺眼,屏幕实在太亮了,眼睛都快瞎了,真心试了各种方法无效后才来问....
- 前端必会的Vue项目请求方法模块化的高度封装操作案例说明——getData()方法封装实例,告别多次重复调用,解决页面代码冗余
- 微信小程序服务器.net,微信小程序登陆 .net 后端实现
- java中后台的跳转_java后台跳转
- Hypervisor是什么
- SAP文件上传服务器并下载
- Android Studio 类微信界面的制作
- 文件拷贝命令至服务器,远程服务器拷贝文件命令
- element ui 官网下载,elementui中文官网
- C语言:裴波那契数列(数组)
- java输入数字金额输出汉字大写_JS-输入数字输出大写中文
- 计算机软件优质课,计算机课公开课ppt
- 为AI而生的IPU芯片,或挑战GPU的霸主位?