@JSONField注解

@JSONField注解

@JSONField注解是阿里巴巴fastjson库中的注解,用于控制Java对象与JSON字符串之间的转换。它可以用于控制序列化和反序列化过程中的一些细节,例如日期格式、序列化顺序、字段名称等。

@JSONField注解的常用属性包括:

java 复制代码
- name:指定JSON字符串中的字段名称,默认为Java对象中的字段名称。
- format:指定日期格式,例如"yyyy-MM-dd HH:mm:ss"。
- serialize:指定是否序列化该字段,默认为true。
- deserialize:指定是否反序列化该字段,默认为true。
- ordinal:指定序列化顺序,数值越小越先序列化。
- alternateNames:指定该字段的备选名称,当JSON字符串中不存在该字段名称时,会尝试使用备选名称进行反序列化。

示例:

java 复制代码
public class User {
    @JSONField(name = "id")
    private Long userId;
    
    @JSONField(format = "yyyy-MM-dd HH:mm:ss")
    private Date createTime;
    
    @JSONField(ordinal = 1)
    private String name;
    
    @JSONField(alternateNames = {"email", "mail"})
    private String email;
    
    // getter and setter
}

在上面的示例中,@JSONField注解被用于控制User类中的字段与JSON字符串之间的转换。例如,@JSONField(name = "id")表示将Java对象中的userId字段映射到JSON字符串中的"id"字段;@JSONField(format = "yyyy-MM-dd HH:mm:ss")表示将Java对象中的createTime字段按照指定的日期格式转换为JSON字符串;@JSONField(alternateNames = {"email", "mail"})表示当JSON字符串中不存在email字段时,会尝试使用mail字段进行反序列化。

相关推荐
ZGG0032 分钟前
线程池详解:从 7 大参数到生产避坑
java·数据库·后端
迪康Defender7 分钟前
公用电脑责任追溯难?迪康端点安全一体化管理系统用户模式详解
java·运维·开发语言·网络·其他·安全
京师20万禁军教头1 小时前
47-常用类-八大包装类(Wrapper Classes)
java
come112341 小时前
剪映零基础教程
java·linux·运维
16月6日-晴1 小时前
Java面向对象——接口
java·开发语言
苏生Susheng1 小时前
【软件实施】Windows 服务器运维实战
java·运维·服务器·windows·spring boot·javaweb·实施
Java小白笔记1 小时前
Java 实现 ZIP 压缩包生成方案
java·开发语言·网络·7-zip
霸道流氓气质2 小时前
Spring AI 多模态开发指南:图片理解与语音合成
java·人工智能·spring
en.en..2 小时前
Linux mmap 内存映射深度解析:基于帧缓冲 /dev/fb0
java·服务器·前端
洋不写bug2 小时前
链表补充练习,双链表的模拟实现
java·数据结构·链表·双链表·底层实现