Reputation: 2061
I want to change my json response _sddInfo to dropOffShippingInfo but below @JsonProperty getting ignored. How can I solve this issue?
@JsonInclude(JsonInclude.Include.NON_NULL)
public class EligibleShippingMethods implements Serializable {
private static final long serialVersionUID = 1L;
@JsonProperty("dropOffShippingInfo")
private DropOffShippingInfo _sddInfo;
public DropOffShippingInfo get_sddInfo() {
return _sddInfo;
}
public void set_sddInfo(DropOffShippingInfo _sddInfo) {
this._sddInfo = _sddInfo;
}
}
"eligibleShippingMethods": [
"_sddInfo": {
"startTime": "2020-08-21T15:00:00Z",
"endTime": "2020-08-21T17:00:00Z",
"customerScheduleType": "window"
}
]
Upvotes: 0
Views: 1219
Reputation: 3669
In the past Jackson may have supported one name for serialization and another for deserialization. Not anymore. Therefore, you should annotate a getter with @JsonProperty("dropOffShippingInfo")
, it expects the incoming json payload to also have dropOffShippingInfo
Upvotes: 1
Reputation: 9556
Add @JsonProperty("dropOffShippingInfo")
to getter method and make sure you are importing right package com.fasterxml.jackson.annotation.JsonProperty
@JsonInclude(JsonInclude.Include.NON_NULL)
public class EligibleShippingMethods implements Serializable {
private static final long serialVersionUID = 1L;
private DropOffShippingInfo _sddInfo;
@JsonProperty("dropOffShippingInfo")
public DropOffShippingInfo get_sddInfo() {
return _sddInfo;
}
public void set_sddInfo(DropOffShippingInfo _sddInfo) {
this._sddInfo = _sddInfo;
}
}
Upvotes: 0