C#:
JSONを活用する

方法:

JSON文字列をオブジェクトに解析する

C#はSystem.Text.Json名前空間を提供し、効率的なJSON処理を実現します。JSON文字列をC#オブジェクトに解析するには、JSON構造に一致するクラスを定義し、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}, Age: {person.Age}");
        // 出力: Name: John, Age: 30
    }
}

オブジェクトからJSONへ変換する

C#オブジェクトをJSON文字列に戻すためには、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);
        // 出力: {"Name":"Jane","Age":25}
    }
}

Newtonsoft.Jsonの使用

Newtonsoft.Json(またはJson.NET)は、JSONのシリアライズおよびデシリアライズに関してより柔軟性とオプションを提供する、人気のあるサードパーティ製ライブラリです。

Json.NETを使うには、最初にNuGet経由でNewtonsoft.Jsonパッケージをインストールする必要があります。その後、次のようにJSON文字列のデシリアライズができます:

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}, Age: {person.Age}");
        // 出力: Name: Mike, Age: 22
    }
}

オブジェクトからJSONを生成する場合、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);
        // 出力: {"Name":"Ella","Age":28}
    }
}

これらのスニペットは、C#でのJSONの取り扱いについてさっと学ぶためのものであり、組み込みのSystem.Text.Jsonの機能とNewtonsoft.Jsonの広範な機能の両方を示しています。