Здравствуйте!
Вопрос: Это тупое решение? если да, то как правильно решить данную задачу?
Скорее вы пошли ооочень длинным путем.
Вот, структура вашего json.
{
  "movies": [
    {
      "name": "Good omens",
      "year": 2019,
      "description": "TV Series",
      "director": {
        "fullName": "Douglas Mackinnon"
      },
      "cast": [
        {
          "fullName": "Michael Sheen",
          "role": "Aziraphale"
        },
        {
          "fullName": "David Tennant",
          "role": "Crowley"
        }
      ]
    }
  ]
}
Лучше считайте его сразу в список объектов
Можете замаппить json в объект используя этот сайт - 
www.jsonschema2pojo.org
Получится примерно следующее:
-----------------------------------com.example.Example.java-----------------------------------
public class Example {
@SerializedName("movies")
@Expose
public List<Movie> movies = null;
}
-----------------------------------com.example.Movie.java-----------------------------------
public class Movie {
@SerializedName("name")
@Expose
public String name;
@SerializedName("year")
@Expose
public Integer year;
@SerializedName("description")
@Expose
public String description;
@SerializedName("director")
@Expose
public Director director;
@SerializedName("cast")
@Expose
public List<Cast> cast = null;
}
-----------------------------------com.example.Director.java-----------------------------------
public class Director {
@SerializedName("fullName")
@Expose
public String fullName;
}
-----------------------------------com.example.Cast.java-----------------------------------
public class Cast {
@SerializedName("fullName")
@Expose
public String fullName;
@SerializedName("role")
@Expose
public String role;
}
Прочитайте например, эту статью как прочитать json в объект
https://mkyong.com/java/how-to-parse-json-with-gson/