Olá, Renan! Tudo bem?
No caso do JSON do Filme, os dados numéricos estão sendo interpretados como string
. Isso pode acontecer quando os dados numéricos estão entre aspas no JSON. Por exemplo, se o JSON estiver assim:
{
"titulo": "O Poderoso Chefão",
"ano": "1972"
}
Nesse caso, o campo "ano" está entre aspas, o que faz com que seja interpretado como string
. Para corrigir isso, você pode tentar converter a string
para um número inteiro após a desserialização, usando o método int.Parse()
ou int.TryParse()
.
No caso do JSON do Livro, parece que os dados numéricos não estão entre aspas, o que é o correto para dados numéricos em JSON. Se os dados estiverem assim:
{
"titulo": "1984",
"ano_publicacao": 1949,
"paginas": 328
}
Nesse caso, os campos "ano_publicacao" e "paginas" estão corretos. Se você não está conseguindo acessar esses campos nem como int
, nem como string, pode ser que haja algum problema na sua classe Livro. Verifique se os tipos dos campos correspondem aos tipos dos dados no JSON e se os nomes dos campos estão corretos.
Espero ter ajudado e caso tenha mais problemas, estarei à disposição para ajudá-lo.
Abraços e bons estudos!
Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓.