Retrofit2 Ошибка Expected BEGIN_ARRAY but was BEGIN_OBJECT at line 1 column 2 path $ Подскажите пожалуйста как исправить?
Запрос https://api.jeench.com/v1/search?query=%D1%81%D1%83%D0%BC%D0%BA%D0%B0&country_id=643&lat=55.76&lng=37.61
Ответ JSON
{
"13927": {
"score": 1.7248458,
"item_name": "Маникюр матовый",
"item_data": "Маникюр ",
"item_id": "13927",
"group_data": "4669|Маникюр|2013|Ногтевой сервис",
"group_id": "4669",
"shop_id": "2635",
"shop_name": "Маникюр \"Beautybar moscow\"",
"item_price": 1300,
"item_location": [
{
"lat": "55.72962190",
"lon": "37.63292440"
}
]
},
"15695": {
"score": 1.7248458,
"item_name": "Маникюр матовый",
"item_data": "Маникюр ",
"item_id": "15695",
"group_data": "4669|Маникюр|2013|Ногтевой сервис",
"group_id": "4669",
"shop_id": "2823",
"shop_name": "Маникюр \"Funky nails dinamo\"",
"item_price": 1100,
"item_location": [
{
"lat": "55.78537400",
"lon": "37.55860800"
}
]
},...
public interface ApiSearch {
@GET("/v1/search")
Call<List<SearchGroup>> getData(@QueryMap Map<String, String> parameters);
}
public class SearchGroup {
@SerializedName("item")
@Expose
private Search searches;
public Search getSearches() {
return searches;
}
public void setSearches(Search searches) {
this.searches = searches;
}
}
public class Search {
@SerializedName("score")
@Expose
private double score;
@SerializedName("item_name")
@Expose
private String item_name;
@SerializedName("item_data")
@Expose
private String item_data;
@SerializedName("item_id")
@Expose
private String item_id;
@SerializedName("group_data")
@Expose
private String group_data;
@SerializedName("group_id")
@Expose
private String group_id;
@SerializedName("shop_id")
@Expose
private String shop_id;
@SerializedName("shop_name")
@Expose
private String shop_name;
@SerializedName("item_price")
@Expose
private double item_price;
@SerializedName("item_location")
@Expose
private ItemLocation item_location;
public double getScore() {
return score;
}
public void setScore(double score) {
this.score = score;
}
public String getItem_name() {
return item_name;
}
public void setItem_name(String item_name) {
this.item_name = item_name;
}
public String getItem_data() {
return item_data;
}
public void setItem_data(String item_data) {
this.item_data = item_data;
}
public String getItem_id() {
return item_id;
}
public void setItem_id(String item_id) {
this.item_id = item_id;
}
public String getGroup_data() {
return group_data;
}
public void setGroup_data(String group_data) {
this.group_data = group_data;
}
public String getGroup_id() {
return group_id;
}
public void setGroup_id(String group_id) {
this.group_id = group_id;
}
public String getShop_id() {
return shop_id;
}
public void setShop_id(String shop_id) {
this.shop_id = shop_id;
}
public String getShop_name() {
return shop_name;
}
public void setShop_name(String shop_name) {
this.shop_name = shop_name;
}
public double getItem_price() {
return item_price;
}
public void setItem_price(double item_price) {
this.item_price = item_price;
}
public ItemLocation getItem_location() {
return item_location;
}
public void setItem_location(ItemLocation item_location) {
this.item_location = item_location;
}
}
public class ItemLocation {
@SerializedName("lat")
@Expose
private String lat;
@SerializedName("lon")
@Expose
private String lon;
public String getLat() {
return lat;
}
public void setLat(String lat) {
this.lat = lat;
}
public String getLon() {
return lon;
}
public void setLon(String lon) {
this.lon = lon;
}
}
searchList = new ArrayList<>();
Map<String, String> parameters = new HashMap<String, String>();
parameters.put("query", "сумка");
parameters.put("country_id", "643");
parameters.put("lat", "55.76");
parameters.put("lng", "37.61");
JeenchUser.getApiSearch().getData(parameters).enqueue(new Callback<List<SearchGroup>>() {
@Override
public void onResponse(Call<List<SearchGroup>> call, Response<List<SearchGroup>> response) {
searchList.addAll(response.body());
for(int i=0;i<searchList.size();i++) {
Log.i("tester", "onResponse: "+searchList.get(i).getSearches().toString());
}
}
@Override
public void onFailure(Call<List<SearchGroup>> call, Throwable t) {
Toast.makeText(MainActivity.this, "An error occurred during n
etworking", Toast.LENGTH_SHORT).show();
Log.i("tester", "error: "+t.toString());
**/*ПОПАДАЮ В ЭТО ИСКЛЮЧЕНИЕ*/**
}
});
Помогите пожалуйста правильно создать классы SearchGroup, Search Заранее спасибо!
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
В портретной ориентации все работает отлично но когда поворачиваю экран программа вылетает
Создал свой виджет, но не могу понять как образуется размер для холстаРазмер экрана эмулятора 1280х768
Имеется png в drawble, фон для приложения и весит 70 кбайтГрадиент на нем плавный, png-24 с еще 8 битами на канал для прозрачности
Делаю приложуху на SwingНужно сохранять настройки приложения, но так что бы юзер не мог добраться до него, по крайней мере что б это был не файл...