Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- @JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = As.PROPERTY, property = "_name")
- @JsonSubTypes({@Type(value = Lion.class, name = "lion"), @Type(value = Elephant.class, name = "elephant")})
- public abstract class Animal {...}
- public class Zoo {
- List<Animal> animals;
- }
- {"animals":[{"_name":"lion"},{"_name":"elephant"}]}
- {"animals":[{"_name":"lion"},{"_name":"elephant"},{"_name":"Turtle"}]}
- List<Animal> animals = Lists.newArrayList(lion, elephant);
- Zoo zoo = new Zoo(animals);
- ObjectMapper mapper = new ObjectMapper();
- String zooString = mapper.writeValueAsString(zoo);
- Zoo zooDeserialized = mapper.readValue(zooString, Zoo.class);
- Exception in thread "main" com.fasterxml.jackson.databind.JsonMappingException: Could not resolve type id 'Turtle' into a subtype of [simple type, class mypackage.Animal]
- at [Source: N/A; line: -1, column: -1] (through reference chain: mypackage.Zoo["animals"])
- at com.fasterxml.jackson.databind.JsonMappingException.from(JsonMappingException.java:164)
- ..
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement