首页 > 人文 > >
孤独酒馆|jackson学习之六:常用类注解( 二 )
2026-11-13
来验证一下 , 如下所示 , 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的实例做序列化操作 , 结果如下图 , 顺序和代码顺序一致:
推荐阅读
李颖|56岁女星坐高铁回老家过年!无明星架子被夸地气,拎万元包包抢眼
南儿小妖|穿白色挂脖连衣裙显年轻,49岁似少女,万绮雯才是不老女神
国际丨假平权真歧视?3分钟细数美国大学招生“逆向歧视往事”
健康养生小课堂|不妨加上此物,养肝护肝,让身体更轻松,喝蒲公英泡水时
BiuFashion|特朗普的71岁原配老婆,穿身黑还有臃肿感,岁月真是不饶人
青年|王者荣耀:参与限时活动,可以0.1元入手李信世冠皮肤一念神魔
iu|IU亲发声!甜蜜认了「1原因爱上李钟硕」 超闪告白文曝光
驱动中国iPhone 12的绿屏问题,苹果公司终于正式回应了!
蒋欣|祸从口出得罪姐妹,蒋欣曾因台词与孙俪产生嫌隙,是情商低还是故意为之?
笑话卜呐呐|我将会把你放进我家池塘,搞笑GIF段子:如果哪天你背叛了我
王者荣耀|王者世冠总决赛:奇迹不止,TS让三追四击败DYG拿下总冠军
「育儿小手册」战士亚瑟,辅助蔡文姬,法师是谁?,没有手速可能轻松驾驭的三个英雄
杭州地铁5号线里有孕妇晕倒,关键时刻这条汉子上前救人
酵母|男子发现一瓶遗忘的醋,里面竟然长出这种东西!