1
resposta

[Dúvida] Desserialização de arquivo Json

No curso "C#: aplique princípios SOLID", na aula "Testes para JSON", é usado o seguinte trecho de código:

using System.Text.Json

// código omitido…

public IEnumerable<Pet> RealizaLeitura()
{
    using var stream = new FileStream(caminhoArquivo, FileMode.Open, FileAccess.Read);
    return JsonSerializer.Deserialize<IEnumerable<Pet>>(stream);
}

Gostaria de entender qual a lógica utilizada pelo método JsonSerializer.Deserialize, principalmente por ele retornar a interface IEnumerable<PET>. Qual o tipo da instância do objeto real que ele retorna?

1 resposta

O método Deserialize retornará um objeto que implementa IEnumerable e contém os dados desserializados, sendo do tipo real uma coleção de Pet ou algo que possa ser iterado como uma coleção de objetos Pet.