首页 > 人文 > >
孤独酒馆|jackson学习之六:常用类注解( 二 )
2026-02-20
来验证一下 , 如下所示 , TestChild类被JsonIgnoreType注解修饰: @JsonIgnoreTypestatic class TestChild {private int value;// 省去get、set、toString方法如下所示 , 再把TestChild作为Test类的成员变量: static class Test {private String field0;private TestChild field1;// 省去get、set、toString方法序列化操作的代码是JsonIgnoreTypeSerialization.java , 执行结果如下图 , 可见类型为TestChild的field1字段 , 在序列化的时候被忽略了: 再来试试反序列化 , 代码在JsonIgnoreTypeDeserializer.java , 如下图 , 可见带有注解JsonIgnoreType的类作为成员变量 , 在反序列化时会被忽略: JsonAutoDetect
序列化和反序列化时自动识别的范围 , 如下: @JsonAutoDetect(fieldVisibility = JsonAutoDetect.Visibility.PUBLIC_ONLY)public class College {private String name;private String city;protected int age = 100;fieldVisibility属性有以下值可选: ANY // 所有NON_PRIVATE // private之外的PROTECTED_AND_PUBLIC // protected和public的(此时privte和默认的package access时不能被自动识别的)PUBLIC_ONLY // public的NONE // 禁止自动识别DEFAULT // 默认的 , 用于继承父类的自动识别的范围验证 , 如下图 , College类设置了注解 , fieldVisibility是PUBLIC_ONLY , 红框中显示age字段是protected类型的: 序列化结果如下图红框 , age字段不是public , 所以没有输出: fieldVisibility改成NON_PRIVATE再试试: 如下图红框 , age不是private , 所以可以被序列化: JsonPropertyOrder
这个注解好理解 , 就是指定序列化的顺序 , 注意该注解仅在序列化场景有效; 先看看没有JsonPropertyOrder注解时的序列化顺序 , Test.java如下所示 , 是和代码的顺序一致的: static class Test {private String field0;private String field1;private String field2;// 省去get、set、toString方法此时对Test的实例做序列化操作 , 结果如下图 , 顺序和代码顺序一致:
推荐阅读
联发科技国行 Redmi 9 有望近期发布,存储规格有所改变
#IT之家#iOS 13.4 双卡状态栏细节改动:只显示主运营商,苹果
凤凰台|旗峰雅韵|迎恩门:莞邑原点地标符号,传承存续千年文脉
CB Insights首次发布中国云边协同榜单,特斯联上榜边缘计算27强
西深兵法|全是三百吨“小家伙”,俄罗斯惨被日本人笑话!海军舰队穿越海峡
死亡|福建晋江一厂房发生火灾致8人死亡 起火原因仍在调查中
大众新闻碰一碰,无屏变有屏!EMUI11让你的智能家电更易操作
#花花儿足球篮球资讯#比荷甲还快!德甲预计5月「空场」重启赛季拜仁已经开始训练
新机发布华为FreeBuds Studio渲染图曝光 配麒麟A1续航20小时
广州建博会乘风来袭,丽博家居携意式时尚《柏拉图》亮相
[颜素护肤]鞠婧祎的下睫毛:明星们堪比整容的化妆技巧教程,汤唯的下颌线
美国新冠肺炎感染病例超过15500例,至少197人死亡
老人|老人“救命药”丢了 铁警查询蛛丝马迹“救命”
大众宝来|预算10万不知道买什么车?不如随大流看看这款一汽大众宝来