关于json setSerializationInclusion问题

关于json setSerializationInclusion问题

请问老师

objectMapper.setSerializationInclusion(JsonInclude.Include.NON_NULL);

这个语句若没设定会有怎样的影响吗? 例如数据传输量或是造成其他问题?

正在回答

登陆购买课程后可参与讨论,去登陆

1回答

同学你好,如果没有这个语句,会对生成的JSON的内容有影响。

JsonInclude.Include.NON_NULL枚举的作用是,如果对象的某些属性值为null,则不对这些属性进行序列化。

举例说明:

例如现在有个Person类,类中有两个属性,分别为String name和Integer age。如果该对象的两个属性都有具体的值时,例如name为xiaohei,age为20,那么转换后的JSON为{"name":"xiaohei","age":20}。但是如果name没有传入数据,使用默认值为null,则会产生明显的差别。如果没有设置JsonInclude.Include.NON_NULL枚举的话,生成的JSON为{"name":null,"age":20},加入枚举后生成的JSON为{"age":20}。

祝学习愉快~

  • weixin_慕仙7241916 提问者 #1

    感谢小蓝的回答,这部份能理解,

    但我想问的是,就算是产生的JSON为{"name":null,"age":20}会不行吗?看起来好像也没问题。

    还是说JsonInclude.Include.NON_NULL其实只是作为一个option而已,主要还是看要实现怎样的结果而已,并不是必须的

    2022-09-01 17:49:15
  • weixin_慕仙7241916 提问者 #2

    或是另一个问法,为什麽我们会不想看到null呢?(例如课程教我们写这一条语句,只有说明结果,但没有说明原因)

    2022-09-01 17:51:00
  • 同学你好,同学的理解是正确的。

    具体是否需要将null值进行序列化,还是要看实际需求的。在课程中的业务里,null值是不需要传递的,所以就将null值处理掉了。

    祝学习愉快~

    2022-09-01 17:51:51
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师