[英]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.