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);
Zurück zu Modul 7 Übersicht Weiter zu Modul 9: XML