Код: Выделить всё
public class vehicle {
String vehicleType;
}
public class car extends vehicle {
String carType;
String make;
}
public class sedan extends car {
String model;
}
Например:
Код: Выделить всё
ObjectMapper mapper = new ObjectMapper();
vehicle myVehicle = mapper.readValue(inputData, vehicle.class);
Assertions.assertInstanceOf(sedan.class, myVehicle);
Код: Выделить всё
{
"vehicleType" : "car",
"carType" : "sedan",
"make" : "Foo",
"model" : "Bar"
}
Код: Выделить всё
@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.EXISTING_PROPERTY, property = "vehicleType")
@JsonSubTypes({
@JsonSubTypes.Type(value = car.class, name = "car")
})
public class vehicle {...}
@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.EXISTING_PROPERTY, property = "carType")
@JsonSubTypes({
@JsonSubTypes.Type(value = sedan.class, name = "sedan")
})
public class car extends vehicle {...}
public class sedan extends car {...}
Подробнее здесь: https://stackoverflow.com/questions/790 ... son-in-jav