@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使用(转)相关推荐

  1. fastjson的@JSONField注解

    fastjson的@JSONField注解 @JSONField作用:在字段和方法上1.Field:@JSONField作用在Field时,name可以定义输入key的名字,反序列化的时 值不会赋值到 ...

  2. fastjson之@JSONField注解的几个的使用详细示范

    首先这个注解有个参数可以设置,具体是:ordinal,name,format,serialize,deserialize.等等,后面的不常用啊. 先看model类. package com.lxk.m ...

  3. java jsonfield_关于fastjson的@JSONField注解的一些问题(详解)

    @jsonfield 看源码它可以作用于字段和方法上. 引用网上说的, 一.作用field @jsonfield作用在field时,其name不仅定义了输入key的名称,同时也定义了输出的名称. 但是 ...

  4. fastjson忽略JSONField

    fastjson忽略JSONField 在字段上加上如下属性即可包是 import com.fasterxml.jackson.annotation.JsonIgnore;@JsonIgnorepri ...

  5. fastjson之——@JSONField

    refer:https://blog.csdn.net/a984171281/article/details/107256198 文章目录 前言 区别 1.框架不同: 2.用法不同: 前言 @Json ...

  6. FastJson小技巧——@JSONField的史上最全最详细讲解——一看就会

    常见:使用fastjson进行需要对字段进行一些特殊处理,比如时间格式,前后端名字不一致,字段为null是否依然序列化等问题.那么fastjson的@JSONField就能很好的解决这些问题. @JS ...

  7. FastJson小技巧——@JSONField

    常见:使用fastjson进行需要对字段进行一些特殊处理,比如时间格式,前后端名字不一致,字段为null是否依然序列化等问题.那么fastjson的@JSONField就能很好的解决这些问题. @JS ...

  8. 42. fastjson处理下划线和驼峰问题的方法和源码分析

    一. 前言 在开发过程中经常遇到json解析和生成的问题,所以用自己也一直用fastjson来实现这个功能. 但是,最近遇到一个问题: json字符串里面的数据很多都是"_"下划线 ...

  9. 5.spring boot使用FastJson解析JSON数据

    2019独角兽企业重金招聘Python工程师标准>>> 1.引入FastJson依赖包 <dependency><groupId>com.alibaba< ...

  10. FastJson常见问题

    1. 怎么获得fastjson? 你可以通过如下地方下载fastjson: maven中央仓库: http://central.maven.org/maven2/com/alibaba/fastjso ...

最新文章

  1. [ASP.NET] Session 详解
  2. java合并整形_java中2个int合并成一个long
  3. 海量数据库及分区4——《12年资深DBA教你Oracle开发与优化——性能优化部分》...
  4. 取sql数据乱码_不基于备份和表,生产系统数据误删就能完全恢复
  5. 2018 大湾区(深圳) .NET技术分享交流会 第一期
  6. [html] 如何实现标题栏闪烁、滚动的效果
  7. s5pv210——时钟系统
  8. 为什么linux桌面很刺眼,屏幕实在太亮了,眼睛都快瞎了,真心试了各种方法无效后才来问....
  9. 前端必会的Vue项目请求方法模块化的高度封装操作案例说明——getData()方法封装实例,告别多次重复调用,解决页面代码冗余
  10. 微信小程序服务器.net,微信小程序登陆 .net 后端实现
  11. java中后台的跳转_java后台跳转
  12. Hypervisor是什么
  13. SAP文件上传服务器并下载
  14. Android Studio 类微信界面的制作
  15. 文件拷贝命令至服务器,远程服务器拷贝文件命令
  16. element ui 官网下载,elementui中文官网
  17. C语言:裴波那契数列(数组)
  18. java输入数字金额输出汉字大写_JS-输入数字输出大写中文
  19. 计算机软件优质课,计算机课公开课ppt
  20. 为AI而生的IPU芯片,或挑战GPU的霸主位?

热门文章

  1. Netty中有哪些自带的ChannelHandler?
  2. koa2 中间件里面的next到底是什么
  3. 1.4 测试各阶段(单元、集成、系统 、Alpha、Beta、验收)
  4. 关于利用 achartengine 画 股票 分时线
  5. Adb命令笔记 --菜鸟的笔记
  6. ubuntu 启动进入initramfs错误解决办法
  7. WCF分布式开发常见错误解决(1):添加服务引用出错
  8. 类似taobao的多彩选项卡tab
  9. 一文搞懂synchronized原理
  10. 设计模式——状态模式