Передайте класс в качестве параметра. Вам нужно изменить эти строки:
public static <T> List<T> parseFromFile(String path, Class<T> type){
JSONParser parser = new JSONParser();
List<T> list = new ArrayList<>(Collections.emptyList());
и эту строку:
T a = new Gson().fromJson(String.valueOf(jsonObject), klass);
Если бы я был вами, вы бы посмотрели, имеет ли смысл эта реализация: похоже, вы разбираете сначала содержимое файла с библиотекой org.json
, затем преобразование обратно в JSON и повторный анализ с использованием Gson. Вам нужно проанализировать только один раз:
BufferedReader in = new BufferedReader(new FileReader(path));
T a = new Gson().fromJson(in, klass);