在Jackson中,可以在POJO上使用JsonSerialize注释,以防止空对象被序列化(@JsonSerialize(include = JsonSerialize.Inclusion.NON_NULL))。但是,基元不能设置为null,因此此注释不适用于未触及的int,默认为0。
是否有一个注释可以让我说“对于这个类,不要序列化基元,除非它们与默认值不同”或“对于这个字段,如果它的值是X,不要序列化它“?
答案 0 :(得分:6)
事实是,在Java中,类加载器将设置为默认值所有未初始化的基本属性(int = 0,boolean = false等...),因此您无法将它们与您明确设置的那些区分开来应用程序。在我看来,你有两个选择: