【发布时间】:2021-06-09 10:10:03
【问题描述】:
我有一个这样的 POJO。
@JsonInclude(JsonInclude.Include.NON_NULL)
@JsonIgnoreProperties(ignoreUnknown = true)
public class Test {
private int a;
private String b;
}
如果属性“a”的值为 0,我想排除它。字符串 b 被排除在
@JsonInclude(JsonInclude.Include.NON_NULL)
我唯一能做的就是将 int 数据类型转换为 Integer Object,如果它是 0,则在 setter 中将值显式设置为 NULL。
任何其他建议或正确的解决方案将不胜感激
【问题讨论】:
-
我认为您将
int更改为Integer的方式是正确的,因为原始类型具有默认值(在这种情况下0用于int字段)和0(如@ 987654329@) 无法与null进行比较。 -
但这是另一个可能有帮助的解决方案:stackoverflow.com/a/45353643/2201165
标签: spring-boot jackson