fix: restore original structure and implement missing features
This commit is contained in:
@@ -71,32 +71,19 @@ public class MovieService {
|
||||
}
|
||||
|
||||
try {
|
||||
Gson gson = new Gson();
|
||||
JsonObject rootObject = JsonParser.parseString(jsonResponse).getAsJsonObject();
|
||||
JsonArray genresArray = rootObject.getAsJsonArray("genres");
|
||||
Type genreListType = new TypeToken<ArrayList<Genre>>(){}.getType();
|
||||
Gson gson = new Gson();
|
||||
List<Genre> genres = gson.fromJson(genresArray, genreListType);
|
||||
|
||||
if (rootObject.has("genres")) {
|
||||
JsonArray genresArray = rootObject.getAsJsonArray("genres");
|
||||
Type genreListType = new TypeToken<ArrayList<Genre>>(){}.getType();
|
||||
List<Genre> genres = gson.fromJson(genresArray, genreListType);
|
||||
|
||||
System.out.println("\nALL GENRES:");
|
||||
for (Genre genre : genres) {
|
||||
System.out.println(genre.getId() + ". " + genre.getName());
|
||||
}
|
||||
System.out.println();
|
||||
} else {
|
||||
Type genreListType = new TypeToken<ArrayList<Genre>>(){}.getType();
|
||||
List<Genre> genres = gson.fromJson(jsonResponse, genreListType);
|
||||
|
||||
System.out.println("\nALL GENRES:");
|
||||
for (Genre genre : genres) {
|
||||
System.out.println(genre.getId() + ". " + genre.getName());
|
||||
}
|
||||
System.out.println();
|
||||
System.out.println("\nALL GENRES:");
|
||||
for (Genre genre : genres) {
|
||||
System.out.println(genre.getId() + ". " + genre.getName());
|
||||
}
|
||||
System.out.println();
|
||||
} catch (Exception e) {
|
||||
System.err.println("ERROR parsing genres: " + e.getMessage());
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -129,22 +116,42 @@ public class MovieService {
|
||||
}
|
||||
|
||||
try {
|
||||
Gson gson = new Gson();
|
||||
JsonObject rootObject = JsonParser.parseString(jsonResponse).getAsJsonObject();
|
||||
int total = 0;
|
||||
int totalPages = 0;
|
||||
int currentPage = 1;
|
||||
|
||||
int total = rootObject.get("total").getAsInt();
|
||||
int totalPages = rootObject.get("total_pages").getAsInt();
|
||||
int currentPage = rootObject.get("page").getAsInt();
|
||||
if (rootObject.has("total")) {
|
||||
total = rootObject.get("total").getAsInt();
|
||||
}
|
||||
if (rootObject.has("total_pages")) {
|
||||
totalPages = rootObject.get("total_pages").getAsInt();
|
||||
}
|
||||
if (rootObject.has("page")) {
|
||||
currentPage = rootObject.get("page").getAsInt();
|
||||
}
|
||||
|
||||
System.out.println("\n===== Page " + currentPage + " of " + totalPages + " (Total Movies: " + total + ") =====");
|
||||
|
||||
List<Movie> movies = extractMoviesFromJson(rootObject);
|
||||
if (rootObject.has("movies")) {
|
||||
JsonArray moviesArray = rootObject.getAsJsonArray("movies");
|
||||
|
||||
if (movies.isEmpty()) {
|
||||
System.out.println("No movies found on this page.");
|
||||
} else {
|
||||
for (Movie movie : movies) {
|
||||
System.out.println("ID: " + movie.getId() + " | " + movie.getTitle() + " (" + movie.getYear() + ")");
|
||||
if (moviesArray.size() == 0) {
|
||||
System.out.println("No movies found on this page.");
|
||||
} else {
|
||||
for (JsonElement element : moviesArray) {
|
||||
Movie movie = gson.fromJson(element, Movie.class);
|
||||
if (movie != null) {
|
||||
String yearDisplay = (movie.getYear() != null && !movie.getYear().isEmpty())
|
||||
? movie.getYear() : "N/A";
|
||||
System.out.println("ID: " + movie.getId() + " | " + movie.getTitle() +
|
||||
" (" + yearDisplay + ")");
|
||||
}
|
||||
}
|
||||
}
|
||||
} else {
|
||||
System.out.println("No 'movies' array found in response");
|
||||
}
|
||||
System.out.println();
|
||||
|
||||
@@ -154,4 +161,5 @@ public class MovieService {
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user