Jackson deserialize based on type
Annotations-only approach Alternatively to the custom deserializer approach, you can have the following for an annotations-only solution (similar to the one described in Spunc’s answer, but using type as an external property): public abstract class AbstractData { private Owner owner; private Metadata metadata; // Getters and setters } public static final class FooData extends AbstractData … Read more