如果字段为空,如何告诉jackson在序列化期间忽略该字段?| Java Debug 笔记

291 阅读1分钟

本文正在参加「Java主题月 - Java Debug笔记活动」,详情查看活动链接

如果字段为空,如何告诉jackson在序列化期间忽略该字段?

如果该字段的值为null,如何配置Jackson在序列化过程中忽略该字段的值。

例如:

public class SomeClass {
   // what jackson annotation causes jackson to skip over this value if it is null but will 
   // serialize it otherwise 
   private String someValue; 
}

高分回答:

很多的知识点,真的需要写出来才会掌握!!! \color{purple}很多的知识点,真的需要写出来才会掌握!!!{~}

要使用Jackson> 2.0抑制具有空值的序列化属性,可以直接配置ObjectMapper或使用@JsonInclude批注:

mapper.setSerializationInclusion(Include.NON_NULL);

或者:

@JsonInclude(Include.NON_NULL)
class Foo
{
  String bar;
}

或者,您可以@JsonInclude在getter中使用,以便在值不为null时显示属性。

高分回答:

在Jackson 2.x中,使用:

@JsonInclude(JsonInclude.Include.NON_NULL)

文章翻译自kgs4h5t57thfb6iyuz6dqtun5y-ac4c6men2g7xr2a-stackoverflow-com.translate.goog/questions/3…

*作者建议: 推荐注解的方式,我在之前的文章中对比了比较流行的json解析,如果GSON、Jackson、fastjson等,有兴趣大家可以看看*

Gson和jackson和fastjson作者都有用过,Gson能支持三层嵌套、jackson社区活跃,fastjson国内很火,但是也有不足,我看阿里云是没有用fastjson来解析json的

之所以我知道阿里云是没有用fastjson来解析json是因为,我对接了钉钉的api文档,在源代码中并未出现fastjson的身影,如果你感兴趣,可私信我要源码!

图片.png

欢迎关注我的专栏StackOverFlow,我会筛选优质的问答,面试常考!!! \color{red}欢迎关注我的专栏StackOverFlow,我会筛选优质的问答,面试常考!!!{~}

有最新、优雅的实现方式,我也会在文末写出我对本问答的见解 \color{red}有最新、优雅的实现方式,我也会在文末写出我对本问答的见解{~}

真心感谢帅逼靓女们能看到这里,如果这个文章写得还不错,觉得有点东西的话

求点赞👍 求关注❤️ 求分享👥 对8块腹肌的我来说真的 非常有用!!!

如果本篇博客有任何错误,请批评指教,不胜感激 !❤️❤️❤️❤️