Olá, Gabriel! Tudo bem?
Pelo que você descreveu, parece que o erro está relacionado ao tipo de dado que o Gson está tentando desserializar. A exceção JsonSyntaxException
indica que o Gson esperava um objeto JSON, mas encontrou um array JSON.
Isso pode acontecer se a resposta da API para o ID 174 for um array em vez de um objeto. Para resolver isso, você pode verificar o tipo de resposta antes de tentar desserializá-la. Aqui está uma sugestão de como lidar com isso:
Verifique o tipo de resposta: Antes de desserializar, veja se a resposta é um objeto ou um array.
Ajuste a desserialização: Se a resposta for um array, talvez você precise desserializar para uma lista de objetos.
Aqui está um exemplo de como você pode ajustar seu código:
val json = response.body()
println(json)
val gson = Gson()
try {
// Tenta desserializar como um objeto
val meuJogo = gson.fromJson(json, InfoJogo::class.java)
println(meuJogo)
} catch (e: JsonSyntaxException) {
// Se falhar, tenta desserializar como uma lista
val jogos: List<InfoJogo> = gson.fromJson(json, Array<InfoJogo>::class.java).toList()
jogos.forEach { jogo ->
println(jogo)
}
}
Essa abordagem tenta primeiro desserializar como um objeto. Se falhar, tenta como uma lista. Ajuste conforme necessário para o seu caso específico.
Espero ter ajudado e bons estudos!