重要な C# トピック

C#でオブジェクトとJSONを相互に変換する

このレッスンでは、System.Text.Jsonを使って、C#のオブジェクトをJSON文字列に変換し、その文字列からオブジェクトを作り直します。

はじめに

JSONは、特にAPIを通じてアプリどうしでデータをやり取りするときによく使われる形式です。.NETに含まれるSystem.Text.Jsonライブラリは、オブジェクトからJSONへの変換(シリアライズ、serialize)と、JSONからオブジェクトへの変換(デシリアライズ、deserialize)を高速に行います。

JsonSerializer.SerializeメソッドはレコードProductをJSON文字列に変換します。Deserialize<Product>メソッドはその文字列を読み取り、Productオブジェクトを作り直します。データが空だったり形式が間違っていたりすると結果がnullになることがあるので、プログラムはNameとPriceにアクセスするときに演算子?.を使っています。表示される結果はBook: 12.5です。

実行できる C# の例

C#
コードを実行 →
Program.cs
using System;
using System.Text.Json;

record Product(string Name, decimal Price);

class Program
{
    static void Main()
    {
        var json = JsonSerializer.Serialize(new Product("Book", 12.5m));
        var product = JsonSerializer.Deserialize<Product>(json);
        Console.WriteLine($"{product?.Name}: {product?.Price}");
    }
}
実行結果
Book: 12.5

デバッガーで練習する

大事な代入や条件にブレークポイントを置いて Debug を押し、次の行に進む前にローカル変数の値を確かめましょう。

チャレンジで練習する

このレッスンの内容を使って実際の問題を解きましょう。各チャレンジはブラウザで動き、すぐにテストされ、AI のレビューも受けられます。

すべてのチャレンジ