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