У меня есть следующий канал в формате JSON:Чтение JSON с Модернизированный
{
collection_name: "My First Collection",
username: "Alias",
collection: {
1: {
photo_id: 1,
owner: "Some Owner",
title: "Lightening McQueen",
url: "http://hesp.suroot.com/elliot/muzei/public/images/randomhash1.jpg"
},
2: {
photo_id: 2,
owner: "Awesome Painter",
title: "Orange Plane",
url: "http://hesp.suroot.com/elliot/muzei/public/images/randomhash2.jpg"
}
}
}
То, что я пытаюсь сделать, это получить содержимое коллекции - photo_id, владельца, название и URL. У меня есть следующий код, но я получаю ошибки GSON JSON:
@GET("/elliot/muzei/public/collection/{collection}")
PhotosResponse getPhotos(@Path("collection") String collectionID);
static class PhotosResponse {
List<Photo> collection;
}
static class Photo {
int photo_id;
String title;
String owner;
String url;
}
}
Я думал, что мой код был правильным, чтобы получить корм JSON, но я не так уверен. Любая помощь оценивается.
Ошибки я получаю:
Caused by: retrofit.converter.ConversionException: com.google.gson.JsonSyntaxException: java.lang.IllegalStateException: Expected BEGIN_ARRAY but was BEGIN_OBJECT at line 1 column 75
Однако я изо всех сил, чтобы понять, как использовать библиотеку GSON
Какая ошибка вы получаете? Логкат, пожалуйста? – NasaGeek
В принципе, ключевая строка: вызвана: retrofit.converter.ConversionException: com.google.gson.JsonSyntaxException: java.lang.IllegalStateException: ожидается BEGIN_ARRAY, но BEGIN_OBJECT в строке 1 колонке 75 – K20GH
в порядке, поэтому я не невероятно знакомый с gson, но похоже, что он ожидал массив 'Photos', а не' List' из них. – NasaGeek