C#:
Arbeiten mit JSON

Wie geht das:

Parsen eines JSON-Strings zu einem Objekt

C# bietet den Namespace System.Text.Json für effiziente JSON-Verarbeitung an. Um einen JSON-String in ein C#-Objekt zu parsen, definieren Sie eine Klasse, die der JSON-Struktur entspricht, und verwenden Sie die Methode JsonSerializer.Deserialize.

using System;
using System.Text.Json;

public class Person
{
    public string Name { get; set; }
    public int Age { get; set; }
}

public class Program
{
    public static void Main()
    {
        string jsonString = "{\"Name\":\"John\", \"Age\":30}";
        Person person = JsonSerializer.Deserialize<Person>(jsonString);

        Console.WriteLine($"Name: {person.Name}, Alter: {person.Age}");
        // Ausgabe: Name: John, Alter: 30
    }
}

Generieren eines JSON aus einem Objekt

Um ein C#-Objekt wieder in einen JSON-String umzuwandeln, verwenden Sie die Methode JsonSerializer.Serialize.

using System;
using System.Text.Json;

public class Program
{
    public static void Main()
    {
        Person person = new Person
        {
            Name = "Jane",
            Age = 25
        };

        string jsonString = JsonSerializer.Serialize(person);
        Console.WriteLine(jsonString);
        // Ausgabe: {"Name":"Jane","Age":25}
    }
}

Verwendung von Newtonsoft.Json

Newtonsoft.Json (oder Json.NET) ist eine beliebte Drittanbieter-Bibliothek, die mehr Flexibilität und Optionen für die JSON-Serialisierung und -Deserialisierung bietet.

Um Json.NET zu verwenden, müssen Sie zuerst das Paket Newtonsoft.Json über NuGet installieren. Dann können Sie so einen JSON-String deserialisieren:

using System;
using Newtonsoft.Json;

public class Program
{
    public static void Main()
    {
        string jsonString = "{\"Name\":\"Mike\", \"Age\":22}";
        Person person = JsonConvert.DeserializeObject<Person>(jsonString);

        Console.WriteLine($"Name: {person.Name}, Alter: {person.Age}");
        // Ausgabe: Name: Mike, Alter: 22
    }
}

Für das Generieren eines JSON aus einem Objekt mit Json.NET:

using System;
using Newtonsoft.Json;

public class Program
{
    public static void Main()
    {
        Person person = new Person
        {
            Name = "Ella",
            Age = 28
        };

        string jsonString = JsonConvert.SerializeObject(person);
        Console.WriteLine(jsonString);
        // Ausgabe: {"Name":"Ella","Age":28}
    }
}

Diese Schnipsel bieten einen schnellen Einstieg in die Handhabung von JSON in C#, und demonstrieren sowohl die integrierten Fähigkeiten von System.Text.Json als auch die umfangreichen Funktionen von Newtonsoft.Json.