参考链接:https://www.cnblogs.com/zimug/p/13716062.html
使用场景
灵活控制对象的创建,非常规的方式设置属性,比如枚举类型的序列化、序列号时部分信息的隐藏等。
一、Jackson反序列化过程做了什么?
默认情况下,使用public无参构造函数进行对象创建,然后通过成员变量的set方法进行赋值
二、@Jsoncreator注解
可以通过使用 @JsonCreator 注解自定义反序列的过程,这样有更高的灵活性,可以完成更多的非规定动作。该注解有两种使用方式:
- 注解加在构造方法上
- 注解加在静态工厂方法上
2.1.@JsonCreator
注解加在构造方法上
分为单参数和多参数的情况
2.1.1. 单个参数的情况
单个参数会将字符串整体传入,具体可参考@JSONCreator上的注解
package com.fan;
import lombok.Data;
@Data
public class Player {