2021.7.7 jackson
jack是springmvc默认用来实现json序列化和反序列化。
jackson 框架对json字段的序列化和反序列化默认的策略是get和set方法,去掉get和set,再把首字母小写,便找到了对应的字段。但这是对普通的 pojo serialization/deserialization。
另外一种情况就是对 抽象类和接口进行匹配对应的字段进行序列化和反序列化。
@JsonTypeInfo
用做类或者接口,被用来处理多态类型的序列化和反序列化。
@JsonAutoDetect
改变默认的自动检测
@JsonDeserialize
是在反序列化的时候,所以就是对参数进行封装,所以用的是 set方法,所以需要将注解添加到对应的set方法上,
若使用了lombok 需要自己定义相应的set方法,需要使用 using 属性指定处理参数的类,该类需要继承 jsonDeserializer 类,并重写 deserialize()。
@JsonIgnoreProperties
被用于举例属性的逻辑名不被序列化;
更简单的方式是通过mix-annotation 而不是每个属性注解,(尽管两者都可以通过mix-inannotations来使用)。