У меня проблемы с десериализацией, так как я использую одну и ту же структуру объектов для двух разных веб-ответов.В «поиске» я получаю массив объектов, а в «деталях» я получаю только один объект.
Код поиска:
InputStream source = Helper.retrieveStream("http://<domainname>/search.jsp?action=search&q=" + query);
Reader reader = new InputStreamReader(source);
Gson gson = new Gson();
SearchObj searchResponse = gson.fromJson(reader, SearchObj.class);
Код детали:
InputStream source = Helper.retrieveStream("http://<domainname>/search.jsp?action=detail&id=" + id);
Из сервисов я получаю ответ с тем же объектом наемного TopObject -> SearchResponse -> Response , но в первом случае (Поиск) я получаю массив Response [], а во втором случае (Подробности) я получаю один Ответobject.
Очевидно, что моя десериализация завершается неудачно во втором сценарии, поскольку код ожидает массив Response вместо одного ответа.
Я понял, что не могу изменить имя объекта, как могуимя свойства с аннотацией @ SerializedName.
Есть предложения?