No código aparentemente a instancia do objeto está criando um array de objetos e não o objeto em si, estou tentando encontrar alguma ajuda no repositório do GSON, mas está difícil
package org.example
import InfoJogo
import com.google.gson.Gson
import java.net.URI
import java.net.http.HttpClient
import java.net.http.HttpRequest
import java.net.http.HttpResponse.BodyHandlers
import java.util.*
fun main() {
val leitor = Scanner(System.`in`)
println("Digite o código do jogo:")
val busca = leitor.nextLine()
val endereco = "https://www.cheapshark.com/api/1.0/games?id=$busca"
val client: HttpClient = HttpClient.newHttpClient()
val request = HttpRequest.newBuilder()
.uri(URI.create(endereco))
.build()
val response = client
.send(request, BodyHandlers.ofString())
val json = response.body()
println(json)
val gson = Gson()
//Aqui ocorreu a desserialização do jogo
val meuInfoJogo = gson.fromJson(json, InfoJogo::class.java)
try{
val meuJogo = Jogo(meuInfoJogo.info.title, meuInfoJogo.info.thumb)
print(meuJogo)
}catch(ex: NullPointerException){
println("Erro encontrado")
}
}
Esse é código rodando e o erro está na linha
val meuInfoJogo = gson.fromJson(json, InfoJogo::class.java)