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}");
}
}