【发布时间】:2013-01-21 08:15:35
【问题描述】:
在 Jackson 中,可以在 POJO 上使用 JsonSerialize 注释以防止空对象被序列化 (@JsonSerialize(include=JsonSerialize.Inclusion.NON_NULL))。但是,基元不能设置为 null,因此此注释不适用于诸如未触及且默认为 0 的 int 之类的东西。
是否有一个注释可以让我说“对于这个类,不要序列化基元,除非它们不同于它们的默认值”或“对于这个字段,如果它的值为 X,不要序列化它“?
【问题讨论】:
-
您是否考虑过使用自定义序列化程序?不确定它如何与原语一起使用,但至少看看它。
-
那是我不希望听到的答案 =)。到目前为止,使用 vanilla 设置和 JsonProperty、JsonIgnore 和 JsonFilter 注释,一切都运行良好。不过我会检查一下,谢谢。