JSON Verarbeitung mit System.Text.Json
JSON (JavaScript Object Notation) ist das Standardformat für den Datenaustausch im Internet.
C# bietet mit dem Namespace System.Text.Json eine hochperformante Lösung für die Arbeit mit JSON-Daten.
1. Serialisierung: Objekt zu JSON
Unter Serialisierung versteht man den Prozess, ein C#-Objekt in eine JSON-Zeichenfolge umzuwandeln.
using System.Text.Json;
// Die Klasse für unsere Daten
public class Benutzer
{
public string Username { get; set; }
public string Email { get; set; }
}
// Objekt erstellen
var user = new Benutzer { Username = "Balu", Email = "balu@the-cat.de" };
// In JSON-String umwandeln
string json = JsonSerializer.Serialize(user);
2. Deserialisierung: JSON zu Objekt
Hierbei wird ein JSON-String eingelesen und wieder in ein echtes C#-Objekt mit Typisierung umgewandelt.
string jsonInput = "{\"Username\":\"The Cat\",\"Email\":\"cat@the-cat.de\"}";
// Zurück in ein Objekt verwandeln (Generic-Syntax)
var gelesenerUser = JsonSerializer.Deserialize<Benutzer>(jsonInput);
Console.WriteLine(gelesenerUser.Username);
3. JSON schön formatieren (Pretty Print)
Für eine bessere Lesbarkeit können Sie Optionen festlegen, damit das JSON eingerückt ausgegeben wird.
var options = new JsonSerializerOptions { WriteIndented = true };
string prettyJson = JsonSerializer.Serialize(user, options);