繁体   English   中英

jackson 反序列化包装数组

[英]jackson deserialize wrapped array

我得到了以下 JSON ,我试图反序列化:

{
"items": [
    {
        "id": 29000012,
        "name": "Crystal League I",
        "iconUrls": {
            "small": "https://api-assets.clashofclans.com/leagues/72/kSfTyNNVSvogX3dMvpFUTt72VW74w6vEsEFuuOV4osQ.png",
            "tiny": "https://api-assets.clashofclans.com/leagues/36/kSfTyNNVSvogX3dMvpFUTt72VW74w6vEsEFuuOV4osQ.png",
            "medium": "https://api-assets.clashofclans.com/leagues/288/kSfTyNNVSvogX3dMvpFUTt72VW74w6vEsEFuuOV4osQ.png"
        }
    },
    {
        "id": 29000015,
        "name": "Master League I",
        "iconUrls": {
            "small": "https://api-assets.clashofclans.com/leagues/72/olUfFb1wscIH8hqECAdWbdB6jPm9R8zzEyHIzyBgRXc.png",
            "tiny": "https://api-assets.clashofclans.com/leagues/36/olUfFb1wscIH8hqECAdWbdB6jPm9R8zzEyHIzyBgRXc.png",
            "medium": "https://api-assets.clashofclans.com/leagues/288/olUfFb1wscIH8hqECAdWbdB6jPm9R8zzEyHIzyBgRXc.png"
        }
    }
],
"paging": {
    "cursors": {}
}}

我试图用以下 DTO 反序列化它:

@JsonRootName("items")
@JsonIgnoreProperties(value={ "paging" })
public class League {
    private Long id;
    private String name;
    private IconUrls iconUrls;


    public League() {
    } 
}

class IconUrls {
    private String small;
    private String tiny;
    private String medium;


    public IconUrls() {
    }  
}

但我收到以下错误:

com.fasterxml.jackson.databind.exc.MismatchedInputException: Root name ('items') does not match expected ('List') for type `java.util.List<gg.stats.wrapper.entities.League>

我也设置了: DeserializationFeature.UNWRAP_ROOT_VALUE

这是我的客户对方法的调用:

List<League> getLeagueList();

问题可能是“分页”键。 有什么解决方法吗?

实际上我自己找到了一个解决方案:

@JsonIgnoreProperties(value={ "paging" }, allowGetters=true)
public class ResponseWrapper<T> {

private List<T> items;

@JsonProperty("items")
public List<T> getResponseContent() {
    return this.items;
}

@JsonProperty("items")
public void setResponseContent(List<T> items) {
    this.items = items;
}

}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM