【问题标题】:android Jackson @JsonIgnore propertyandroid 杰克逊 @JsonIgnore 属性
【发布时间】:2017-09-03 13:24:41
【问题描述】:

在我的 API 响应中,我有两个字段:event_dateevent_datetimeevent_date 返回 ISO 日期 格式,在我的 android 类中,我将此变量设置为 String 类型。我想忽略 Jackson 中的这个属性,因为它会引发类型不匹配的错误。请注意,我只想在响应中忽略此字段。我想将此字段用作请求参数。

我尝试了@JsonIgnore 注释,但它不适合我。有没有其他方法可以忽略 Jackson 中的这个变量?

@JsonIgnore
private String eventDate;
private String eventDateTime;

@JsonIgnore
public String getEventDate() {
    return eventDate;
}

@JsonProperty("event_date")
public void setEventDate(String eventDate) {
    this.eventDate = eventDate;
}

@JsonProperty("event_datetime")
public String getEventDateTime() {
    return eventDateTime;
}

public void setEventDateTime(String eventDateTime) {
    this.eventDateTime = eventDateTime;
}

【问题讨论】:

    标签: java android json jackson


    【解决方案1】:

    删除@JsonProperty("event_date")。我认为这是造成问题的原因。

    【讨论】:

    • 我必须使用它,因为我的属性名称是 event_date 而不是 eventDate
    • 但是你想忽略它。你是怎么用它的?
    • 我只想在回应中忽略它。我将此字段用于请求参数。无论如何,我得到了解决方案。谢谢你的回答:)
    【解决方案2】:

    这是因为你使用了来自 org.fasterxml.jackson 的 @JsonIgnore

    替换你的导入:

    import org.fasterxml.jackson.annotate.JsonIgnore;
    

    import org.codehaus.jackson.annotate.JsonIgnore;
    

    【讨论】:

    • 我使用过 com.fasterxml.jackson.core:jackson-annotations:2.8.3 库。所以我不能导入你指定的类
    • 如果你使用 jersey,org.codehaus.jackson 默认会在你的项目中
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-12-05
    • 2012-09-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-08-30
    相关资源
    最近更新 更多