com.fasterxml.jackson.annotation 里最常用高频的注解,可以按“控制字段、控制格式、控制结构、控制流程”来记

按"高频、实用"精简一版,只保留日常接口开发最常用的一批。

Jackson 高频注解速查表

注解 高频用途 典型场景
@JsonProperty 指定 JSON 字段名,也可控制读写 驼峰/下划线互转、字段重命名、READ_ONLY/WRITE_ONLY
@JsonIgnore 忽略单个字段 不返回 password、token、salt
@JsonInclude 控制字段是否输出 去掉 null、空字符串、空集合
@JsonFormat 控制字段输出格式 日期、时间、Long 转 String
@JsonCreator 指定反序列化构造方式 枚举、无默认构造器对象
@JsonValue 序列化时只输出一个值 枚举返回 code、name

如果只背高频,记住:字段名、忽略、是否输出、格式化、枚举、兼容别名、自定义转换,基本就能覆盖日常接口开发里 90% 的 JSON 处理。


下面是另一问题,这些被称作什么

在 Java 里,annotation 的标准中文术语是 注解 。 它也叫 元数据 / metadata,本质是给类、字段、方法、参数贴标签,让框架、编译器或工具读取后做额外处理。

com.fasterxml.jackson.annotation 下面那些 @JsonProperty、@JsonIgnore、@JsonFormat 等,专业叫法就是"Jackson 注解" ,日常沟通时直接说英文名最准确。 它们没有像 @Override 那样被广泛使用的固定中文译名。

如果一定要用中文描述,可以这样说:

注解 中文描述
@JsonProperty 属性名映射注解
@JsonIgnore 忽略属性注解
@JsonIgnoreProperties 批量忽略属性注解
@JsonInclude 属性包含策略注解
@JsonFormat 格式化注解
@JsonAlias 属性别名注解
@JsonCreator 自定义构造/工厂方法注解
@JsonValue 单值输出注解
@JsonUnwrapped 展开嵌套对象注解
@JsonNaming 命名策略注解
@JsonView 视图过滤注解
@JsonFilter 动态过滤注解
@JsonSerialize / @JsonDeserialize 自定义序列化/反序列化注解

口语里也可以说成 "字段重命名注解""忽略字段注解""格式化注解",但正式文档、代码评审、面试里还是直接说英文名更专业。

另外注意一点:Java 里的 @Xxx 叫 注解 annotation ;Python、TypeScript 里的 @Xxx 通常叫 装饰器 decorator。 虽然长得像,但机制不一样,不能混着叫。


要不要说说 @JsonIgnore 和 @JsonIgnoreProperties 底层机制有什么不同------为什么一个作用于字段、一个作用于类?

相关推荐
HAPPY酷4 小时前
C++ 内存泄漏排查:从裸 new 到 RAII 修复,附 ASan 实战
开发语言·c++
苜蓿muxu4 小时前
简述 ConcurrentHashMap 和 CopyOnWriteArrayList 的区别以及各自适用场景
java·编程语言
9527!到!4 小时前
Springboot @value读取配置参数踩坑&推荐解决方案
java·spring boot·spring
十年Java程序媛4 小时前
Java 面试常问 this、super:构造方法调用顺序避坑
java·开发语言·spring boot·面试·个人开发
337804 小时前
5分钟搞懂Spring的IoC和Bean管理
java
学到老活到老4 小时前
类已经加载了,为什么静态代码还没执行?
java·jvm
学到老活到老4 小时前
写了 new,就一定会在堆上分配对象吗?
java·jvm
Web极客码4 小时前
决策模型 + LLM:用 Python 拆解浏览器自动化工作流
java·python·自动化
飞天小牛肉5 小时前
线程池明明没到最大线程数,为什么任务还在排队?
java