1
我們正在使用REST webservice(Shopware)來獲取產品信息。 我們的問題是總是空的類別。JSON反序列化以categoryID作爲Java和Jersey的關鍵字的類別
這過來在電線上的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
}
}
}
我們的文章類的定義是這樣的:
@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,所以澤西島現在不會如何將它們映射到正確的類。
問題:
是否有一個名字爲這種類別的JSON符號,使我有東西在谷歌搜索?
你對球衣註釋,自定義類型適配器或類似的東西有任何提示,它告訴反序列化器識別類別並填充我們的類別集合嗎?
好吧,既然「類別」在你的JSON是不是數組(它的對象),它不太可能它要映射到Java中的數組。將它改爲'Map',因爲這就是你所擁有的。 –
謝謝,這個伎倆。 – Christoph