I am using GSON to decode JSON into an object of type T e.g.
public T decode(String json) {
Gson gson = new Gson();
return gson.fromJson(json, new TypeToken<T>() {}.getType());
}
This however returns an exception -
java.lang.AssertionError: Unexpected type. Expected one of: java.lang.reflect.ParameterizedType, java.lang.reflect.GenericArrayType, but got: sun.reflect.generics.reflectiveObjects.TypeVariableImpl, for type token: T
I thought that by using TypeToken I avoided Type Erasure.
Am I wrong?
Thanks