C#:
Työskentely JSON:n kanssa

Kuinka:

JSON-merkkijonon jäsennys olioksi

C# tarjoaa System.Text.Json nimiavaruuden tehokkaaseen JSON-käsittelyyn. JSON-merkkijonon jäsentämiseksi C#-olioksi määritä luokka, joka vastaa JSON-rakennetta ja käytä JsonSerializer.Deserialize-metodia.

using System;
using System.Text.Json;

public class Henkilö
{
    public string Nimi { get; set; }
    public int Ikä { get; set; }
}

public class Ohjelma
{
    public static void Main()
    {
        string jsonString = "{\"Nimi\":\"John\", \"Ikä\":30}";
        Henkilö henkilö = JsonSerializer.Deserialize<Henkilö>(jsonString);

        Console.WriteLine($"Nimi: {henkilö.Nimi}, Ikä: {henkilö.Ikä}");
        // Tuloste: Nimi: John, Ikä: 30
    }
}

JSON:n tuottaminen oliosta

Jotta C#-olion voisi muuttaa takaisin JSON-merkkijonoksi, käytä JsonSerializer.Serialize-metodia.

using System;
using System.Text.Json;

public class Ohjelma
{
    public static void Main()
    {
        Henkilö henkilö = new Henkilö
        {
            Nimi = "Jane",
            Ikä = 25
        };

        string jsonString = JsonSerializer.Serialize(henkilö);
        Console.WriteLine(jsonString);
        // Tuloste: {"Nimi":"Jane","Ikä":25}
    }
}

Newtonsoft.Json käyttäminen

Newtonsoft.Json (tai Json.NET) on suosittu kolmannen osapuolen kirjasto, joka tarjoaa enemmän joustavuutta ja vaihtoehtoja JSON:n serialisointiin ja deserialisointiin.

Json.NET:n käyttämiseen ensin täytyy asentaa Newtonsoft.Json paketti NuGetin kautta. Sen jälkeen voit deserialisoida JSON-merkkijonon näin:

using System;
using Newtonsoft.Json;

public class Ohjelma
{
    public static void Main()
    {
        string jsonString = "{\"Nimi\":\"Mike\", \"Ikä\":22}";
        Henkilö henkilö = JsonConvert.DeserializeObject<Henkilö>(jsonString);

        Console.WriteLine($"Nimi: {henkilö.Nimi}, Ikä: {henkilö.Ikä}");
        // Tuloste: Nimi: Mike, Ikä: 22
    }
}

JSON:n tuottaminen oliosta Json.NET:n avulla:

using System;
using Newtonsoft.Json;

public class Ohjelma
{
    public static void Main()
    {
        Henkilö henkilö = new Henkilö
        {
            Nimi = "Ella",
            Ikä = 28
        };

        string jsonString = JsonConvert.SerializeObject(henkilö);
        Console.WriteLine(jsonString);
        // Tuloste: {"Nimi":"Ella","Ikä":28}
    }
}

Nämä katkelmat tarjoavat nopean aloituksen JSON:in käsittelyyn C#:ssa, esitellen sekä sisäänrakennetut System.Text.Json-ominaisuudet että Newtonsoft.Jsonin laajat ominaisuudet.