क्या जैक्सन में के लिए उपयोग कर @JsonTypeInfo और @JsonSubTypes एनोटेशन कर रहे हैं के लिए उपयोग किया जाता है क्या?@JsonTypeInfo और @JsonSubTypes जैक्सन
public class Lion extends Animal {
private String name;
@JsonCreator
public Lion(@JsonProperty("name") String name) {
this.name = name;
}
public String getName() {
return name;
}
public String getSound() {
return "Roar";
}
public String getType() {
return "carnivorous";
}
public boolean isEndangered() {
return true;
}
@Override
public String toString() {
return "Lion [name=" + name + ", getName()=" + getName() + ", getSound()=" + getSound() + ", getType()=" + getType() + ", isEndangered()="
+ isEndangered() + "]";
}
}
========================================
public class Elephant extends Animal {
@JsonProperty
private String name;
@JsonCreator
public Elephant(@JsonProperty("name") String name) {
this.name = name;
}
public String getName() {
return name;
}
public String getSound() {
return "trumpet";
}
public String getType() {
return "herbivorous";
}
public boolean isEndangered() {
return false;
}
@Override
public String toString() {
return "Elephant [name=" + name + ", getName()=" + getName() + ", getSound()=" + getSound() + ", getType()=" + getType()
+ ", isEndangered()=" + isEndangered() + "]";
}
}
==============================================
@JsonTypeInfo (use = JsonTypeInfo.Id.CLASS, include = As.PROPERTY, property = "classNameExtenral")
@JsonSubTypes ({@Type (value = Lion.class, name = "lion"), @Type (value = Elephant.class, name = "elephant")})
public abstract class Animal {
@JsonProperty ("name")
String name;
@JsonProperty ("sound")
String sound;
@JsonProperty ("type")
String type;
@JsonProperty ("endangered")
boolean endangered;
}
public static void main(String[] args){
Lion lion = new Lion("Simba");
Elephant elephant = new Elephant("Manny");
List<Animal> animals = new ArrayList<>();
animals.add(lion);
animals.add(elephant);
}
क्या मैं समझता हूँ कि यह अतिरिक्त वस्तु की ठोस प्रकार को बरकरार रखता है वास्तविक डेटा के साथ धारावाहिक की जा रही है।
मुझे क्या स्पष्ट नहीं है deserialization के दौरान वास्तविक लाभ/लाभ क्या है।
नहीं जावा डॉक्स से अलग किसी भी महत्वपूर्ण प्रलेखन रही है। क्या कोई 1 कृपया यहां मदद कर सकता है या इसके आसपास कुछ दस्तावेज़ प्रदान कर सकता है।
हो सकता है कि इस जवाब में मदद मिलेगी: https://stackoverflow.com/a/31666888/751579 – davidbak
यह मदद करता है .. धन्यवाद। – Harshit