Я знаю, что об этом спрашивали много раз, но я не нашел своего решения.
Expected BEGIN_ARRAY but was STRING at line 1 column 1 path $
Мой json, я ожидаю массив Модель []:
[{
"id": 1,
"category": "Category 1",
"question": "Bla bla",
"answer": "<p>Bla bla bla.</p>\n",
"lastModified": "2018-05-24T12:28:37.41"
},{
"id": 2,
"category": "Category 1",
"question": "Bla bla",
"answer": "<p>Bla bla bla.</p>\n",
"lastModified": "2018-05-24T12:28:37.41"
},
{
"id": 3,
"category": "Category 1",
"question": "Bla bla",
"answer": "<p>Bla bla bla.</p>\n",
"lastModified": "2018-05-24T12:28:37.41"
},
{
"id": 4,
"category": "Category 1",
"question": "Bla bla",
"answer": "<p>Bla bla bla.</p>\n",
"lastModified": "2018-05-24T12:28:37.41"
}]
Если я скопирую ответ с сервера и:
final String response = "...";
final Gson gson = new Gson();
final FAQ[] faqs = gson.fromJson(response, FAQ[].class);
Log.d("TAG", "TEST: " + faqs[0].getAnswer());
Это работает как положено ... что может быть не так с ответом сервера?
РЕДАКТИРОВАТЬ: интерфейс:
@Headers({
"Accept-Encoding: gzip, deflate, br",
"Accept-Language: it-IT"
})
@GET("faq")
Call<FAQ[]> getFAQs(@Query(Constants.API_PARAM_PAGE) int page,
@Query(Constants.API_PARAM_PAGE_SIZE) int pageSize);