孤独酒馆|jackson学习之六:常用类注解( 三 )

  1. 现在给Test类加上JsonPropertyOrder注解 , 顺序是field2、field0、field1:
@JsonPropertyOrder({"field2", "field0", "field1"})static class Test {private String field0;private String field1;private String field2;// 省去get、set、toString方法
  1. 执行结果如下图所示 , 也是field2、field0、field1:

孤独酒馆|jackson学习之六:常用类注解JsonInclude
  1. 注解JsonInclude仅在序列化场景有效;
  2. 通过该注解控制某些字段不被序列化(例如空字符串不被序列化);
  3. 可以设置以下几种限制:
【孤独酒馆|jackson学习之六:常用类注解】ALWAYS // 默认策略 , 任何情况都执行序列化NON_NULL // 非空NON_ABSENT // null的不会序列化 , 但如果类型是AtomicReference , 依然会被序列化NON_EMPTY // null、集合数组等没有内容、空字符串等 , 都不会被序列化NON_DEFAULT // 如果字段是默认值 , 就不会被序列化CUSTOM // 此时要指定valueFilter属性 , 该属性对应一个类 , 用来自定义判断被JsonInclude修饰的字段是否序列化USE_DEFAULTS // 当JsonInclude在类和属性上都有时 , 优先使用属性上的注解 , 此时如果在序列化的get方法上使用了JsonInclude , 并设置为USE_DEFAULTS , 就会使用类注解的设置
  1. JsonInclude涉及的知识点较多 , 已在一篇单独文章中详细说明 , 请参考《jackson学习之五:JsonInclude注解 》;
至此 , Jackson的常用类注解的学习和实战就完成了 , 接下来的文章我们学习常用的属性注解;
欢迎关注我的公众号:程序员欣宸
孤独酒馆|jackson学习之六:常用类注解


推荐阅读