Spring Boot JSON序列化

时间:2016-04-15 09:04:36

标签: json spring jackson

我正在使用Spring Boot 1.3.3并创建了一个REST控制器来将一个JSON对象添加到Mongo数据库集合中。

要从JSON对象添加的数据将是从请求接收的信息的子集。所以我创建了一个JSON请求对象(DTO)和一个存储在Mongo集合中的实体对象(模型)。

我现在面临一个问题,因为JSON请求对象填充了整数(0)和布尔数据类型(false)的默认值,即使这些字段未作为请求消息的一部分填充。我不想将这些值存储在数据库中。

我在application.properties文件中添加了“spring.jackson.serialization-inclusion = non-null”和“spring.jackson.serialization-inclusion = non-default”属性,但仍然使用默认值填充字段。
任何人都可以帮我解决这个问题并绕过默认值。注意:它适用于String数据类型,因为如果没有创建它们,它们将默认为NULL值。

提前致谢

2 个答案:

答案 0 :(得分:2)

字符串属性接受空值,而基元属性具有默认值,例如0是int属性的默认值..以避免使用此值使用整数

答案 1 :(得分:0)

请在您遇到问题的bean类的字段上方使用此注释,并告诉我您的问题已解决。

'@ JsonInclude(Include.NON_NULL)'

谢谢