Importante

Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!

0
respostas

Desafio: Hora da prática - Atividade 4

Resolução:
Livro.cs

using System.Text.Json.Serialization;

namespace DesafiosCSharp03._02Desafio.Modelos
{
    internal class Livro
    {
        [JsonPropertyName("titulo")]
        public string? Titulo { get; set; }

        [JsonPropertyName("autor")]
        public string? Autor { get; set; }

        [JsonPropertyName("ano_publicacao")]
        public int? AnoPublicacao { get; set; }

        [JsonPropertyName("genero")]
        public string? Genero { get; set; }

        [JsonPropertyName("paginas")]
        public int? Paginas { get; set; }

        [JsonPropertyName("editora")]
        public string? Editora { get; set; }

        public string FichaLivros =>
            $"Título: {Titulo} - Autor: {Autor} - Ano de Publicação: {AnoPublicacao} - Gênero: {Genero} - Páginas: {Paginas} - Editora: {Editora}\n";
    }
}

Program.cs

Console.Clear();

using (HttpClient client = new HttpClient())
{
    string resposta = await client.GetStringAsync("https://raw.githubusercontent.com/ArthurOcFernandes/Exerc-cios-C-/curso-4-aula-2/Jsons/Livros.json");
    try
    {
        var livros = JsonSerializer.Deserialize<List<Livro>>(resposta)!;
        foreach (var livro in livros)
        {
            Console.WriteLine(livro.FichaLivros);
        }
    }
    catch (Exception ex)
    {
        Console.WriteLine($"Ocorreu um erro ao obter os dados: {ex.Message}");
    }
}