REST 서비스에서 범주 및 항목 트리를 가져옵니다. 카테고리에는 카테고리 및/또는 항목의 목록을 포함하는 "하위"속성이 있습니다. 유형은 "kind"필드에 지정됩니다.Jackson 2.1 다형성 직렬화 : pojo에서 형식 필드를 채우는 방법은 무엇입니까?
잭슨의 다형성 유형 처리는 훌륭하고 모든 작은 예상 작업을 제외하고는 예상대로 작동합니다. "종류"필드 자체는 채워지지 않습니다. 이 데이터를 pojos에 가져 오는 간단한 방법이 있습니까? 나는 커스텀 디시리얼라이저를 작성하지 않기를 희망한다.
다음은 Category 및 Item의 기본 클래스입니다. 두 개의 하위 클래스는 여러 개의 스칼라 필드를 추가하며별로 흥미롭지 않습니다.
@JsonIgnoreProperties(ignoreUnknown=true)
@JsonTypeInfo(
use = JsonTypeInfo.Id.NAME,
include = JsonTypeInfo.As.PROPERTY,
property = "kind",
defaultImpl = EntityBase.Impl.class
)
@JsonSubTypes({
@Type(value = Item.class, name = "Item"),
@Type(value = Category.class, name = "Category")
})
public abstract class EntityBase {
String title;
String kind;
public void setTitle(String title) { this.title = title; }
public String getTitle() { return title; }
public void setKind(String kind) { this.kind = kind; }
public String getKind() { return kind; }
public static class Impl extends EntityBase {}
}
나는이 같은 ObjectMapper 뭔가로 직렬화를하고 있어요 :
ObjectMapper mapper = new ObjectMapper();
Category category = mapper.readValue(inputStream, Category.class);
나는 심지어 태그를받을 자격이되지 않도록 관련이없는 생각,하지만 단지의 경우,이에 Android 앱.
뛰어난 수사 작업! – StaxMan
몇 시간 전이 정확한 문제에 직면해라 - 당신은 내 머리카락이 남아있는 것을 구했습니다! 힘줄! – tbm