@JSONField注解的使用

FastJson中的注解@JSONField,一般作用在get/set方法上面,常用的使用场景有下面三个:
  • 修改和json字符串的字段映射【name】
  • 格式化数据【format】
  • 过滤掉不需要序列化的字段【serialize】

一、修改字段映射使用方法:

  private Integer aid;
  // 实体类序列化为json字符串的时候,此类的aid字段,序列化为json中的testid字段  @JSONField(name="testid")   public Integer getAid() {      return aid;  }

  // json字符串解析为类实体的时候,json中的id字段,写入此类的aid字段  @JSONField(name="id")  public void setAid(Integer aid) {      this.aid = aid;  }
二、格式化使用方法
  @JSONField(format = "yyyy-MM-dd HH:mm:ss")  public Date getDateCompleted(...)

三、过滤不需要序列化的字段
  @JSONField(serialize = false)  public Integer getProgress() {      return progress;  }
  

原文地址:https://www.cnblogs.com/yucy/p/9057049.html

时间: 2024-10-04 13:08:37

@JSONField注解的使用的相关文章

fastjson简单使用demo,@JSONField注解属性字段上与set、get方法上。实体类toString(),实体类转json的区别;_下划线识别

一.demo代码 @JSONField注解属性字段上与set.get方法上.使用@Data注解(lombok插件安装最下方),对属性“笔名”[pseudonym]手动重写setter/getter方法 import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.annotation.JSONField; import lombok.Data; @Data

fastjson的@JSONField注解

@JSONField作用:在字段和方法上1.Field:@JSONField作用在Field时,name可以定义输入key的名字,反序列化的时 值不会赋值到属性上2.作用在setter和getter方法上 /** * bean 转json 时会把bean中的name转换为project_name * */ @JSONField(name="project_name") public String getName() { return name; } /** * son 转bean 时会

fastJson注解@JSONField使用的一个实例

1.实体类 package jsonArrayjsonObject.cn; import java.io.Serializable; import java.util.Date; import com.alibaba.fastjson.annotation.JSONField; import com.alibaba.fastjson.serializer.SerializerFeature; public class User implements Serializable{ private s

源码分析之FastJson全局配置日期格式导致@JSONField(format = "yyyy-MM-dd")注解失效

出现的问题 我全局配置的时间格式是:yyyy-MM-dd HH:mm:ss @JSONField注解配置的时间格式是:yyyy-MM-dd 最终的返回结果是:yyyy-MM-dd HH:mm:ss 问题:为啥不是以注解定义的时间格式为主呢? 先说答案,后面再分析: FastJson的全局配置日期格式会导致@JSONField注解失效 使用建议: 1.若全局配置了日期格式,就不要使用@JSONField注解 2.若想使用@JSONField注解,就不要全局配置日期格式 一.FastJson全局配置

jackson JsonPropertyOrder和@JsonIgnoreProperties注解

有些时候,我们在和外部系统交互的时候使用了json作为标准的数据交换格式,同时为了安全性考虑,增加了对报文的校验,因此我们需要确保序列化的时候参数有序且不多不少刚好,因为对外的API不像后台和前端交互一样,兼容即可,而是对严谨性的要求极高.jackson默认的机制是序列化的时候,先父类的属性,然后再是子类的属性按照定义的顺序进行(fastjson则刚好相反,先序列化子类,然后序列化父类).为了使用json的工具类,且达到有序的目的,之前特地研究了fastjson/jackson两者的序列化特性,

【技术累积】【点】【java】【27】@JSONField

@JSONField 该注解隶属于阿里fastjson,方便fastjson处理对象时的一些操作 源码 @Retention(RetentionPolicy.RUNTIME) @Target({ ElementType.METHOD, ElementType.FIELD, ElementType.PARAMETER }) public @interface JSONField { /** * config encode/decode ordinal * @since 1.1.42 * @retu

spring boot (二):使用fastJson解析json数据

如果我们想在spring boot中使用第三方的json解析框架: 1)我们需要在pom.xml文件中引入第三方包的依赖; 2)实现方法: 方法1 需要在启动类中继承WebMvcConfigurerAdapter 类,并重写该类的configureMessageConverters方法. 方法2. 我们直接使用@Bean注入第三方的 解析框架. 1.引入fastJson的依赖库 <dependency> <groupId>com.alibaba</groupId> &l

FastJSON使用笔记

虽然使用FastJSON来生成JSON数据非常简单,但是我在实际使用过程中还是发现了一些值得注意的地方,比如说:之前写过的JQuery解析FastJSON生成的JSON数据会出现的错误 今天我要记录一下一些其他的注意点 将对象转化为json字符串时,如何过滤掉部分字段? 方法一: 在JavaBean对象对应字段前加注解,这样生成的json也不包含该字段 @JSONField(serialize=false) private String userName; 方法二: 在需要生成JSON的时候使用

fastjson对Date的处理

对日期的序列化: 一种方法是通过注解 Java代码   @JSONField (format="yyyy-MM-dd HH:mm:ss") public Date birthday; 另一种是通过SerializeConfig: Java代码   private static SerializeConfig mapping = new SerializeConfig(); private static String dateFormat; static { dateFormat = &