Boa noite.
Quando é para filtrar músicas com tom C#, meu filtro está ficando zerado. Olhando no Program.cs quando Deserializo o JSON, quando mostro a segunda musica, vem com o tom 0, sendo que olhando o JSON o tom é 6.
using ScreenSound_04.Modelos;
using System.Text.Json;
using ScreenSound_04.Filtros;
using (HttpClient cliente = new HttpClient())
{
try
{
string resposta = await cliente.GetStringAsync("https://guilhermeonrails.github.io/api-csharp-songs/songs.json");
// Console.WriteLine(resposta);
var musicas = JsonSerializer.Deserialize<List<Musica>>(resposta);
musicas[0].ExibirDetalhesDaMusica();
musicas[1].ExibirDetalhesDaMusica();
string nomeDoArquivo = $"musicas-favoritas-Storti.txt";
using (StreamWriter arquivo = new StreamWriter(nomeDoArquivo))
{
arquivo.WriteLine($"Músicas favoritas do Storti\n");
arquivo.WriteLine(resposta);
}
Console.WriteLine("txt gerado com sucesso!");
}
catch (Exception ex)
{
Console.WriteLine($"Temos um problema: {ex.Message}");
}
}
Console.Read();
No arquivo TXT , que salvo o JSON está tudo certo, mas na impressão de detalhes da musica, fica as 2 primeiras com o Key = 0
using System.Text.Json.Serialization;
namespace ScreenSound_04.Modelos;
internal class Musica
{
private readonly string[] tonalidades = { "C", "C#", "D", "Eb", "E", "F", "F#", "G", "Ab", "A", "Bb", "B" };
[JsonPropertyName("song")]
public string? Nome { get; set; }
[JsonPropertyName("artist")]
public string? Artista { get; set; }
[JsonPropertyName("duration_ms")]
public int Duracao { get; set; }
[JsonPropertyName("genre")]
public string? Genero { get; set; }
//[JsonPropertyName("Key")]
public int Key { get; set; }
/*
public string Tonalidade {
get
{
return tonalidades[Tom];
}
}
*/
public void ExibirDetalhesDaMusica()
{
Console.WriteLine($"Artista: {Artista}");
Console.WriteLine($"Música: {Nome}");
Console.WriteLine($"Duração em s: {Duracao/1000}");
Console.WriteLine($"Gênero: {Genero}");
Console.WriteLine($"Tom: {Key}");
//Console.WriteLine($"Tonalidade: {Tonalidade}");
Console.WriteLine("\n");
}
}
Alguém poderia me ajudar?