static async Task Main(string[] args)
{
// URL del JSON
string url = "https://jsonplaceholder.typicode.com/posts";
// Leer el JSON de la URL
var json = await ObtenerJsonDesdeUrl(url);
// Deserializar el JSON en un tipo anónimo
var datos = JsonSerializer.Deserialize<dynamic>(json, new JsonSerializerOptions
{
PropertyNameCaseInsensitive = true
});
// Iterar y mostrar datos
foreach (var elemento in datos)
{
Console.WriteLine($"ID: {elemento.id}, Título: {elemento.title}");
}
}
// Método para obtener el JSON desde una URL
public static async Task<string> ObtenerJsonDesdeUrl(string url)
{
using HttpClient client = new HttpClient();
var response = await client.GetAsync(url);
response.EnsureSuccessStatusCode(); // Lanza excepción si el estado no es 2xx
return await response.Content.ReadAsStringAsync();
}
}