如何用Jackson将null转换为0及0转换为null的示例代码实现?

2026-05-16 02:560阅读0评论SEO基础
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计1519个文字,预计阅读时间需要7分钟。

如何用Jackson将null转换为0及0转换为null的示例代码实现?

需求背景+最近遇到一个需求,有一个数值类型的字段,非必填,默认为空。数据库表针对该字段设计的是一个int类型,由于DBA推荐规范,默认值为not null。这时候,问题就来了,数据

需求背景

最近遇到一个需求,有个数值类型的字段,非必填,默认为空,数据库表针对该字段设计的是一个int类型, 由于dba推荐规范,默认该值是not null。这个时候,问题就来了,数据库默认存的是0,前端展示时,又不能显示这个0(需要的是null)

解决方案

针对此类处理,通常的方案有以下2种:

前端做处理,统一对0和null做处理,0即是null,null即是0

后端做处理,针对要处理的字段,在序列化之前或者之后做处理,或者采取硬编码的方式,针对要处理的字段,写if else

方案分析

针对第一种,这里面有个比较尴尬的地方,前端所接收的字段中,有些0是有意义的,譬如是否有效,0可能代表有效,如果统一做了处理,那这个改为null了,那就出问题了。假如不统一处理,则需要区别对待,由于对前端不熟,不知道是否有类似注解或者带标志的全局方法来处理类似问题,听前端说处理比较麻烦,so,只能后端来处理了。

针对第二种,后端处理的方式更灵活一些,想要简单可拓展,使用@JasonSerilize和@JsonDeserialize注解,写自定义序列化和反序列化类。想要快速完成,走硬编码。

阅读全文
标签:示例

本文共计1519个文字,预计阅读时间需要7分钟。

如何用Jackson将null转换为0及0转换为null的示例代码实现?

需求背景+最近遇到一个需求,有一个数值类型的字段,非必填,默认为空。数据库表针对该字段设计的是一个int类型,由于DBA推荐规范,默认值为not null。这时候,问题就来了,数据

需求背景

最近遇到一个需求,有个数值类型的字段,非必填,默认为空,数据库表针对该字段设计的是一个int类型, 由于dba推荐规范,默认该值是not null。这个时候,问题就来了,数据库默认存的是0,前端展示时,又不能显示这个0(需要的是null)

解决方案

针对此类处理,通常的方案有以下2种:

前端做处理,统一对0和null做处理,0即是null,null即是0

后端做处理,针对要处理的字段,在序列化之前或者之后做处理,或者采取硬编码的方式,针对要处理的字段,写if else

方案分析

针对第一种,这里面有个比较尴尬的地方,前端所接收的字段中,有些0是有意义的,譬如是否有效,0可能代表有效,如果统一做了处理,那这个改为null了,那就出问题了。假如不统一处理,则需要区别对待,由于对前端不熟,不知道是否有类似注解或者带标志的全局方法来处理类似问题,听前端说处理比较麻烦,so,只能后端来处理了。

针对第二种,后端处理的方式更灵活一些,想要简单可拓展,使用@JasonSerilize和@JsonDeserialize注解,写自定义序列化和反序列化类。想要快速完成,走硬编码。

阅读全文
标签:示例