使用GSON转List

  • 在使用GSON转List的时候,遇到一个问题,传入泛型转List,GSON是无法解析的,GSON不知道你传的是什么,将会按原样返给你。 eg:
public static <T> List<T> getList(String json, Class<T> clasz) {
      return mGson.fromJson(json, new TypeToken<List<T>>() {}.getType());
}
  • 经鲍永章同学Help me,得以解决
  • stackoverflow
  • 具体方法如下:
 public static <T> List<T> getList(String json, Class<T> clasz) {
    return mGson.fromJson(json, new ListOfSomething<T>(clasz));
 }
static class ListOfSomething<T> implements ParameterizedType {

        private Class<?> wrapped;

        public ListOfSomething(Class<T> wrapped) {
            this.wrapped = wrapped;
        }

        public Type[] getActualTypeArguments() {
            return new Type[] { wrapped };
        }

        public Type getRawType() {
            return List.class;
        }

        public Type getOwnerType() {
            return null;
        }
    }