N298 HTTP
Du skal skabe en konsol app med følgende main:
og så er din opgave - via HttpClient
- at hente
- 10 forskellige tal fra random.org og udskrive disse (du kan hente et tal fra https://www.random.org/integers/?num=1&min=10&max=100&col=1&base=10&format=plain&rnd=new)
- Hente alle kommuner fra Dataforsyningen (https://api.dataforsyningen.dk/kommuner) j JSON og udskriv navn og kode
- Brug “Paste as Json i Visual Studio for at få autogeneret klasser (ret
Class1
tilKommune
og sletRootobject
) - Brug System.Text.JsonSerializer.Deserialize til at konvertere json til objekter
Klik for at se et forslag til en løsning
using System.Text.Json;
namespace MinTest
{
class Program
{
static async Task Main(string[] args)
{
HttpClient client = new HttpClient();
for (int i = 0; i < 10; i++)
{
int nr = Convert.ToInt32(await client.GetStringAsync("https://www.random.org/integers/?num=1&min=10&max=100&col=1&base=10&format=plain&rnd=new"));
Console.WriteLine(nr);
}
string json = await client.GetStringAsync("https://api.dataforsyningen.dk/kommuner");
var kommuner = JsonSerializer.Deserialize < List<Kommune>>(json);
foreach (var kommune in kommuner)
{
Console.WriteLine($"{kommune.navn} {kommune.region.kode}");
}
}
}
public class Kommune
{
public DateTime ændret { get; set; }
public int geo_version { get; set; }
public DateTime geo_ændret { get; set; }
public float[] bbox { get; set; }
public float[] visueltcenter { get; set; }
public string href { get; set; }
public string dagi_id { get; set; }
public string kode { get; set; }
public string navn { get; set; }
public bool udenforkommuneinddeling { get; set; }
public string regionskode { get; set; }
public Region region { get; set; }
}
public class Region
{
public string href { get; set; }
public string kode { get; set; }
public string navn { get; set; }
}
}