Пытаюсь десериализовать JSON ответ с помощью GSON через
response ResponseFio = gson.fromJson(json, response.class), выпадает ошибка:
Expected BEGIN_ARRAY but was BEGIN_OBJECT
Через JsonParser все получается, но через класс нет, подозрение на неправильный тип данных в классе
JSON:
{
"response": {
"count": 3,
"items": [
{
"id": 100,
"first_name": "Иван",
"last_name": "Иванов"
},
{
"id": 101,
"first_name": "Иван",
"last_name": "Петров"
},
{
"id": 102,
"first_name": "Алла",
"last_name": "Петрова"
}
]
}
}
Класс response:
public class response {
List<GetFIO> response = null;
public response(){
}
public response(List<GetFIO> response){
this.response = response;
}
public List<GetFIO> GetFriend(){
return response;}
}
Класс GetFIO:
public class GetFIO {
int count = 0;
List<items> items = null;
public GetFIO(){
}
public GetFIO(int count, List<items> items){
this.count = count;
this.items = items;
}
public List<items> getItems() {
return items;
}
}
Класс items:
public class items {
int id = 0;
String first_name = "",
last_name = "";
public items(){
}
public items(int id, String first_name, String last_name){
this.id = id;
this.first_name = first_name;
this.last_name = last_name;
}
public int getId() {
return id;
}
public String getFirst_name() {
return first_name;
}
public String getLast_name() {
return last_name;
}
}
Попробуйте поменять тип на
GetFIO response = null;
т.е. когда вы десериализуете, то у вас "response" является объектом в json, а не массивом.
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости