【发布时间】:2012-08-23 03:31:54
【问题描述】:
我通常使用 objectMapper.setSerializationInclusion(JsonSerialize.Inclusion.NON_NULL) 因为我从不希望我的类的 null 值被序列化。除了现在我有一个特定的字段应该被写出来,即使它是空的。我可以在这个字段上添加一个快速注释来覆盖该字段的 Inclusion.NON_NULL 属性吗?有什么好的方法可以做到这一点?
【问题讨论】:
标签: jackson
我通常使用 objectMapper.setSerializationInclusion(JsonSerialize.Inclusion.NON_NULL) 因为我从不希望我的类的 null 值被序列化。除了现在我有一个特定的字段应该被写出来,即使它是空的。我可以在这个字段上添加一个快速注释来覆盖该字段的 Inclusion.NON_NULL 属性吗?有什么好的方法可以做到这一点?
【问题讨论】:
标签: jackson
对于 Jackson 1.x,您可以使用 @JsonSerialize(include = Inclusion.ALWAYS),对于 Jackson 2.x,您可以使用 @JsonInclude(Include.ALWAYS)。这些注释将覆盖您 ObjectMapper 中的默认配置。
【讨论】:
@user1433372,JsonInclude 是仅适用于 Jackson 2.x 的注释。
在杰克逊 1.9 中
@JsonSerialize(include=JsonSerialize.Inclusion.NON_EMPTY)
在 Jackson 2.x 中与
相同@JsonInclude(JsonInclude.Include.NON_EMPTY)
【讨论】:
使用 Jackson 1.9 @JsonSerialize(include= JsonSerialize.Inclusion.ALWAYS)
@JsonSerialize(include=Include.ALWAYS) 没有编译。
【讨论】: