После просмотра вопросов, связанных с Stackoverflow, я не смог найти решение, которое бы устранило эту проблему.java.lang.ClassCastException: com.google.gson.internal.LinkedTreeMap нельзя отнести к модели
Я пытаюсь использовать GSON и реализовали общий метод, как это:
public <T> List<T> deserializeList(String json) {
Gson gson = new Gson();
Type type = (new TypeToken<List<T>>() {}).getType();
return gson.fromJson(json, type);
}
вызов этого метода осуществляется с помощью этого:
parser.<Quote>deserializeList(result)
Однако результат, который я получаю это:
И когда я пытаюсь получить доступ к объекту, я получаю эту ошибку:
java.lang.ClassCastException: com.google.gson.internal.LinkedTreeMap cannot be cast to model.Quote
Строка JSON является:
[
{
"id": 269861,
"quote": "People living deeply have no fear of death.",
"author": "Anais Nin",
"genre": "life",
"tag": null,
"createdAt": "2016-04-16T13:13:36.928Z",
"updatedAt": "2016-04-16T13:13:36.928Z"
}
]
Я не думаю, что так вы должны назвать этот метод с параметром типа –
@ cricket_007 с или без него не имеет значения - parser.deserializeList (result) – codebased
Вот что я думал. Итак, что такое 'T' в определении класса? Вторичный вопрос, можете ли вы использовать «Дооснащение»? –