제품 정보를 가져 오기 위해 REST 웹 서비스 (Shopware)를 사용하고 있습니다. 우리의 문제는 항상 null 인 범주입니다.Java 및 저지와 함께 categoryID가있는 카테고리의 JSON 비 직렬화
와이어를 통해 제공되는 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();
우리는 범주를 제외하고 문제없이 모든 필드에 액세스 할 수 있습니다. Jersey가 올바른 클래스에 매핑하는 방법이 없도록 키 (key) 인 ID가 있기 때문입니다.
질문 :
내가 구글에서 검색 할 수있는 뭔가가 있도록 이름이 카테고리의 JSON 표기법의 종류가 있습니까?
저지 주석, 사용자 정의 유형 어댑터 또는 비 직렬화 기가 범주를 인식하고 범주 컬렉션을 채우도록 알려주는 것과 같은 힌트가 있습니까? 답변으로 브라이언 로치의 코멘트를 다시 게시
음 :로 변경합니다. 그걸'Map'로 바꾸십시오. –
고마워요, 그 속임수를했습니다. – Christoph