孤独酒馆|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年
- “世界上最孤独的大象”被解救,曾被关了整整35年
- 世界上最孤独的大象被解救:“世界上最孤独的大象”被解救,曾被关了整整35年
- kaavan|从小被当赚钱工具,35年后,世界上最孤独的大象终于解放了……
- 「孤独」九月,好好生活,好好爱
- 炉石传说|《炉石传说》酒馆战棋雷诺主流点金盘点:小粉被追捧掘金天胡开
- 孤独酒馆|麒麟9000备货量被曝千万左右,仅能坚持半年时间