孤独酒馆|jackson学习之六:常用类注解
欢迎访问我的github
内容:所有原创文章分类和汇总 , 及配套源码 , 涉及Java、Docker、Kubernetes、DevOPS等;
本篇概览
- 本文是《jackson学习》系列的第六篇 , 继续学习jackson强大的注解能力 , 本篇学习的是常用的类注解 , 并通过实例来加深印象 , 下图是常用类注解的简介:
- 接下来逐个学习;
- 这个git项目中有多个文件夹 , 本章的应用在jacksondemo文件夹下 , 如下图红框所示:
- jacksondemo是父子结构的工程 , 本篇的代码在annotation子工程中 , 里面的classannonation这个package下 , 如下图:
JsonRootName
- JsonRootName的设置如下:
@JsonRootName(value = "http://kandian.youth.cn/index/aaabbbccc")static class Test { private String field0; public String getField0() { return field0; }public void setField0(String field0) { this.field0 = field0; }}
- 开启root对象特性方法 , 以及序列化结果如下图 , 可见JsonRootName注解的value值aaabbbccc成了root对象的key:
- 开启root对象的反序列化特性后 , 用上述红框3中的json字符串可反序列化成Test类的实例;
- 关于root对象的序列化和反序列化特性 , 可以参考《jackson学习之四:WRAP ROOT(root对象) 》;
- 该注解用于指定序列化和反序列化时要忽略的字段 , 如下所示 , Test类的field1和field2被设置为不参与序列化和反序列化操作:
@JsonIgnoreProperties({"field1", "field2"})static class Test {private String field0;private String field1;private String field2;// 省去get、set、toString方法
- 演示代码是JsonIgnorePropertiesSeriallization.java , 执行结果如下图:
- 保持Test.java的JsonIgnoreProperties注解不变 , 再试试反序列化 , 对应的代码在JsonIgnorePropertiesDeserializer.java , 如下图 , 反序列化后field1和field2依然是null , 也就是说反序列化操作中 , field1和field2都被忽略了:
JsonIgnoreType
- 被该注解修饰的类 , 作为其他类的成员变量时 , 不论是序列化还是反序列化都被忽略了;
推荐阅读
- 孤独酒馆|NVIDIA 助力文远知行在自动驾驶的路上“乘风破浪”
- 孤独酒馆|日本研究机构拆解华为P30 Pro:美企零部件比例不到1%
- 泽宇讲历史|女儿做了外国皇后,不愿向日本求助,49岁孤独去世,父亲是华人
- 环球网|“世界上最孤独的大象”被解救,曾被关了整整35年
- 新鲜事儿|却被渣男抛弃终身不孕,而今孤独一人,她是80年代最火的“琼瑶女郎”
- “世界上最孤独的大象”被解救,曾被关了整整35年
- 世界上最孤独的大象被解救:“世界上最孤独的大象”被解救,曾被关了整整35年
- kaavan|从小被当赚钱工具,35年后,世界上最孤独的大象终于解放了……
- 「孤独」九月,好好生活,好好爱
- 灵魂伴侣|当偶像有多孤独?“韩国最美的男人”38岁改变形象,曾经的灵魂伴侣已转嫁他人