阿里巴巴fastjson @JSONField 注解说明

1 介绍

1.1 依赖

​ com.alibaba ​ fastjson ​ 1.2.47

1.2 @jsonField注解

@Retention(RetentionPolicy.RUNTIME)
@Target({ElementType.METHOD, ElementType.FIELD, ElementType.PARAMETER})
public @interface JSONField {int ordinal() default 0;String name() default "";String format() default "";boolean serialize() default true;boolean deserialize() default true;//其他省略
}
复制代码

1.3 @jsonField注解常用属性

name : 给字段起别名

ordinal :用来排序 输出json字符串中key属性的先后顺序 可以用 @JSONType (orders={})来代替

format : 用来日期格式化

serialize :指定字段不序列化

deserialize :指定字段不序列化

2 示例

2.1 User类

public class User {
String a;
String b;
String c;
String d;
String z;
//get  set 省略
}
复制代码

2.2 json字符串中字段先后顺序排序

我们来输出一下

User  user =new User();
user.setA("a");
user.setB("b");
user.setC("c");
user.setD("d");
user.setZ("e");System.out.println(JSON.toJSONString(user));
复制代码

结果:

{"a":"a","b":"b","c":"c","d":"d","z":"e"}
复制代码

我们现在想要这样子的格式:z,a,b,c,d,e

此时采用注解

public class User {
@JSONField(ordinal = 1)
String a;
@JSONField(ordinal = 2)
String b;
@JSONField(ordinal = 3)
String c;
@JSONField(ordinal = 4)
String d;
@JSONField(ordinal = 0)    // 默认是0  可以不加
String z;
//get  set 省略
}
复制代码

输出

{"z":"e","a":"a","b":"b","c":"c","d":"d"}
复制代码

或者我们可以采用另一个注解 注解在类上面 @JSONType(orders = {"z","a","b","c","d"})

@JSONType(orders = {"z","a","b","c","d"})
public class User {
//省略
}
复制代码

2.3 format 和 name 一起使用

新增字段 Date 字段 ,然后 格式化,顺便给字段 z 起别名 z_name

    @JSONField(ordinal = 2)String a;@JSONField(ordinal = 3)String b;@JSONField(ordinal = 4)String c;@JSONField(ordinal = 5)String d;@JSONField(ordinal = 1 , name = "z_name")String z;@JSONField(ordinal = 0 ,format = "yyyy-MM-dd")Date z_date = new Date();//get set 省略
复制代码

输出

{"z_date":"2018-12-20","z_name":"e","a":"a","b":"b","c":"c","d":"d"}
复制代码

serialize

public class A {@JSONField(serialize=false)public Date date;}
复制代码

阿里巴巴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整理(20分钟阅读)

    文章目录 一.简介 1.Json简介 1.1.1 什么是json 1.1.2 Json数组格式 1.1.3 Json对象格式 1.1.4 数组对象相互嵌套格式 2.FastJson简介 二.序列化AP ...

  5. java jsonfield_FastJson 使用@JSONField注解和@JSONCreator指定构造方法

    在某些应用场景下,如果需要定制序列化输出,比如说,希望序列化采用之后采用"ID",而不是"id",就可以使用@JSONField这个注解. @JSONField ...

  6. 一眼看清@JSONField注解使用与效果

    @JSONField是做什么用的 @JSONField是fastjson的一个注解,在fastjson解析一个类为Json对象时,作用到类的每一个属性(field)上. 通过用@JSONField注解 ...

  7. @JSONField注解的使用

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

  8. @JSONField注解的作用

    @JSONField注解可以用在方法(method),属性(field)以及方法上的参数(parameter)上.JSONField中的name属性用来指定JSON串中key的名称 @JSONFiel ...

  9. JSONField 注解的使用

    package com.example.springboot;import com.alibaba.fastjson.JSON; import org.junit.jupiter.api.Test;i ...

最新文章

  1. linux改组ID号会对数据库有影响么,truncate操作导致DATA_OBJECT_ID改变
  2. function()默认参数中ReferenceError Cannot access ‘a‘ before initialization的解决方法
  3. 下载android的linux内核的方法
  4. 计算机信息应用知识题库,计算机基础知识题库(含答案).doc
  5. solidity字符串拼接
  6. python求回数_用python求回数
  7. xftp6设置默认打开文件的程序_xftp6如何使用?xftp6传输文件的使用详细方法--系统之家...
  8. js获取可视区域高度
  9. Python实现AI贪吃蛇
  10. 一些在线图片处理工具收集
  11. 免费的网课API接口附加题库
  12. vmware虚拟机和云服务器区别,容器云与虚拟机云区别
  13. 电影《不夜城》的主题曲:金城武、山本未来主演
  14. POJ3426 ACM Computer Factory——最大流(EK+输出路径)
  15. 难复制薇娅李佳琦,如涵的网红牌何时能在资本市场出奇制胜?
  16. Java入门 第十二节(一) API
  17. PGSQL的on conflict
  18. Unity3dPro 和免费版的区别
  19. 有关日期的一些工具类收集
  20. vue中引入其他网站页面

热门文章

  1. Windows2008管理---第12章 终端服务器
  2. 迎春舞会之三人组舞 vijos1061 动态规划
  3. Oracle 中运用rollup和cube实现汇总运算
  4. ftps(ftp+ssl)
  5. php fpm 日志记录,使用Nginx在PHP-FPM 7上启用错误日志记录?
  6. 最大的脚本网站_网站页面性能优化注意事项
  7. (libgdx学习)Polling
  8. 执行jar包中的某个类
  9. Android-- SharedPreferences数据存储XML文件的方法
  10. 程序员晒追女神聊天截图,坦言第一次没经验,网友直呼凭实力单身