【发布时间】:2015-06-08 01:20:19
【问题描述】:
我对@987654321@ 有疑问。
我正在尝试创建简单的项目,并从我的 api 获取数据。
但是当杰克逊映射对象时,我得到了一个例外。
> Caused by: > com.fasterxml.jackson.databind.exc.UnrecognizedPropertyException: > Unrecognized field "id" (class > com.crosp.solutions.malibushop.rest.model.SlideshowImage), not marked > as ignorable (6 known properties: "desiredHeight", "redirectUrl", > "imageUrl", "title", "desiredWidth", "slideId"])
我的 JSON 格式如下。
[{"id":"121","source":"some url","title":"Hello"},{"id":"120","source":"some url","title":"Girls"},{"id":"119","source":"some url","title":"Girl2"}]
我的 POJO
/**
* Created by crosp on 6/8/15.
*/
@JsonIgnoreProperties(ignoreUnknown=true)
public class SlideshowImage {
private String mImageUrl;
private String mRedirectUrl;
private String mTitle;
private int mSlideId;
private int mDesiredHeight;
private int mDesiredWidth;
public int getDesiredWidth() {
return mDesiredWidth;
}
public void setDesiredWidth(int desiredWidth) {
mDesiredWidth = desiredWidth;
}
public int getDesiredHeight() {
return mDesiredHeight;
}
public void setDesiredHeight(int desiredHeight) {
mDesiredHeight = desiredHeight;
}
public int getSlideId() {
return mSlideId;
}
@JsonProperty("id")
public void setSlideId(int slideId) {
mSlideId = slideId;
}
public String getTitle() {
return mTitle;
}
@JsonProperty("title")
public void setTitle(String title) {
mTitle = title;
}
public String getRedirectUrl() {
return mRedirectUrl;
}
public void setRedirectUrl(String redirectUrl) {
mRedirectUrl = redirectUrl;
}
public String getImageUrl() {
return mImageUrl;
}
@JsonProperty("source")
public void setImageUrl(String imageUrl) {
mImageUrl = imageUrl;
}
@SuppressWarnings("serial")
public static class List extends ArrayList<SlideshowImage> {
}
}
如您所见,存在忽略未知属性的注释,但对象映射器未使用该注释。还有一些注释可以将我的 POJO 对象字段映射到 json 中的不同名称,但这仍然没有影响。
似乎杰克逊注释被忽略了。
如果名称字段与响应完全相同 - 一切正常。
服务
public class RestRetrofitSpiceService extends RetrofitJackson2SpiceService {
private static final String API_SERVER_BASE_URL = "url api";
@Override
protected String getServerUrl() {
return API_SERVER_BASE_URL;
}
}
我的错在哪里?
【问题讨论】:
标签: java android json jackson robospice