मैं एक आरईएसटी सेवा से श्रेणियों और वस्तुओं का एक पेड़ खींच रहा हूँ। श्रेणियों में एक "बच्चा" विशेषता होती है जिसमें श्रेणियों और/या वस्तुओं की एक सूची होती है। उनके प्रकार "दयालु" क्षेत्र में निर्दिष्ट हैं।जैक्सन 2.1 पॉलिमॉर्फिक deserialization: pojo पर प्रकार क्षेत्र कैसे पॉप्युलेट करने के लिए?
जैक्सन का पॉलिमॉर्फिक प्रकार हैंडलिंग बहुत बढ़िया है और सभी एक अपेक्षाकृत काम कर रहे हैं, एक छोटी सी हिचकिचाहट को छोड़कर: "दयालु" क्षेत्र स्वयं ही आबादी नहीं है। क्या इस डेटा को pojos पर लाने का कोई आसान तरीका है? मुझे उम्मीद है कि कस्टम deserializers लिखना नहीं है।
यहां श्रेणी और वस्तु के लिए मूल श्रेणी है। दो उप-वर्ग कई स्केलर फ़ील्ड जोड़ते हैं, और बहुत रोचक नहीं होते हैं।
@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);
मुझे लगता है कि यह इतना अप्रासंगिक है कि यह भी एक टैग के लायक नहीं है, लेकिन सिर्फ मामले में, इस में है एक एंड्रॉइड ऐप।
उत्कृष्ट जासूस काम! – StaxMan
कुछ घंटों पहले इस सटीक समस्या में भाग गया - आपने मेरे बालों के बने रहने को बचाया! TYSM! – tbm