Я хочу иметь возможность анализировать ответ сервера на объект Java с помощью GSON, это мой код:
public void test() throws IOException {
Gson gson = new Gson();
final String uri= BASIC_URL.concat("/?apikey=772f549d&s=prom&y=2020");
simpleHttpClient = new SimpleHttpClient();
String response = simpleHttpClient.sendGetRequest(BASIC_URL.concat("/?apikey=772f549d&s=prom&y=2020"), headersMap);
JsonArray array = JsonHandler.asList(response, "Search");
Type listType = new TypeToken<List<ImdbClass>>(){}.getType();
Object obj = array.toString().getClass();
List<ImdbClass> lists = gson.fromJson(array.toString(), listType);
ImdbClass imdbClass = gson.fromJson(array.toString(), ImdbClass.class);
}
Это желаемая Json строка массива, которую необходимо проанализировать в объект java:
[
{
"Title": "Killer Prom",
"Year": "2020",
"imdbID": "tt10814308",
"Type": "movie",
"Poster": "N/A"
},
{
"Title": "Prom Knight",
"Year": "2020–",
"imdbID": "tt12143924",
"Type": "series",
"Poster": "https://m.media-amazon.com/images/M/MV5BMmRmN2QzMzQtYzdiZS00ZTEzLTg4ODgtYmY1MzBmMTM3ZGIzXkEyXkFqcGdeQXVyMTE1Mjg1MjU2._V1_SX300.jpg"
}
]
, и это мой класс для анализа:
public class ImdbClass {
String Title;
String Year;
String imdbID;
String Type;
String Poster;
public ImdbClass(){}
}
Но когда я перехожу к последней строке в моем коде, я получаю следующую ошибку:
com.google.gson.JsonSyntaxException: java.lang.IllegalStateException: Expected BEGIN_OBJECT but was BEGIN_ARRAY at line 1 column 2 path $
хотя мой массив представляет собой массив объектов, что мне не хватает?