@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字段进行反序列化。

相关推荐
vipxieliang10 分钟前
ValidX错误消息国际化完全指南:8种语言9个语言包与三级回退机制
java·spring boot
xbgRS16 分钟前
RocketMQ消费者消息获取
java·rocketmq·java-rocketmq
云和数据.ChenGuang22 分钟前
git revert回退问题
java·服务器·人工智能·git·fastapi·强化学习
lhldsg41 分钟前
AI智能商城实战指南:从架构设计到落地开发经验分享
java·人工智能·经验分享·小程序
lhldsg1 小时前
树洞交友系统开发实战:从匿名社交需求到技术落地
java·小程序·uni-app·交友
数智启示录1 小时前
实时数据湖 Flink CDC + Kafka +Doris 【企业级实战】之Kafka 事件缓冲层 【附核心源码】 04
java·大数据·flink·kafka·数据库开发
AI人工智能+电脑小能手1 小时前
大白话说Java设计模式-41-备忘录模式(源码剖析篇)
java·设计模式·备忘录模式·源码分析·serializable·undo log·spring statemachine
lv__pf1 小时前
Sentinel【TL微服务10、11】
java·微服务·sentinel
Escalating_xu1 小时前
【C++ string 上篇】从字符串基础到容量管理、迭代器与经典算法题
java·c++·算法
曹牧2 小时前
Java:Java 数组转 List
java·开发语言·windows