[英]JSON de-serialization of categories with categoryID as key with Java and Jersey
我們正在使用REST Web服務(Shopware)來獲取產品信息。 我們的問題是類別始終為空。
電線上的json看起來像這樣:
{
"data":{
"id":3,
"mainDetail":{
"id":3,
"articleId":3,
"categories":{
"14":{
"id":14,
"name":"Edelbr\u00e4nde"
},
"21":{
"id":21,
"name":"Produktvergleiche & Filter"
},
"50":{
"id":50,
"name":"Brandies"
}
},
"success":true
}
}
}
我們的Articles類的定義如下:
@XmlElement(name = "categories")
public Category[] getCategories() {
return categories;
}
public void setCategories(Category[] categories) {
this.categories = categories;
}
Articles articles = apiClient.getClient().resource(apiClient.getBaseUrl() + this.getResourcePath()).queryParams(this.params).type(MediaType.APPLICATION_JSON).accept(MediaType.APPLICATION_JSON).get(Articles.class);
// this always returns null
Categories categories = articles.getCategories();
我們可以訪問所有字段,而類別除外。 我們假設這是因為id是鍵,所以Jersey現在不再如何將它們映射到正確的類。
問題:
是否有此類類別的json表示法的名稱,這樣我就可以在Google中進行搜索了?
您是否有關於球衣注解,自定義類型適配器或類似的內容的提示,這些內容告訴反序列化器識別類別並填充類別集合?
重新發布Brian Roach的評論作為答案:
由於JSON中的“類別”不是數組(它是對象),因此不太可能映射到Java中的數組。 更改為:
Map<String,Category>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.