.NET 5 31.03.2021, 09:50 Uhr

JSON-Daten in nur einer Zeile Code laden

Mit .NET 5 hat Microsoft den Namensraum System.Net.Http.Json aufgebohrt.
(Quelle: .NET)
Mit der Klasse JsonSerialize aus dem Namensraum System.Text.Json bot .NET erstmals die Möglichkeit, Json zu serialisieren und zu deserialisieren. Bislang musste man dafür zusätzliche Pakete wie JSON.NET von Newtonsoft verwenden.
Mit System.Text.Json funktionierte dann das:
var t = System.Text.Json.JsonSerializer.Deserialize<List<Item>>
  ("[
      {
        \"userId\": 1,
        \"id\": 1,
        \"title\": \"sunt aut facere\",
        \"body\": \"quia et\"
      }
    ]"
  );
Meist kommen solche Json-Daten von einem Server im Web. Deshalb gilt es zuerst die Daten vom Server zu holen und sie dann zu deserialisieren.
Mit .NET 5 lässt sich das nun in einer Zeile vollziehen.
HttpClient client = new HttpClient();
var s = await client.GetFromJsonAsync<List<Item>>
  ("https://jsonplaceholder.typicode.com/posts");
Dafür muss der Namensraum System.Net.Http.Json referenziert sein.
Neben GetFromJsonAsync gibt es dort noch die Methoden PutAsJsonAsync und PostAsJsonAsync, die Daten mit den HTTP-Methoden Put und Post zum Server schicken.



Das könnte Sie auch interessieren