I want to deserialize json objects to specific types of objects (using Gson library) based on type field value, eg.:
[
{
\"type\":
use https://github.com/google/gson/blob/master/extras/src/main/java/com/google/gson/typeadapters/RuntimeTypeAdapterFactory.java
then configure it with
public static final class JsonAdapterFactory extends
RuntimeTypeAdapterFactory {
public JsonAdapterFactory() {
super(MyBaseType.class, "type");
registerSubtype(MySubtype1.class, "type1");
registerSubtype(MySubtype2.class, "type2");
}
}
and add the annotation:
@JsonAdapter(MyBaseType.JsonAdapterFactory.class)
to MyBaseType
Much better.