C# 演習

C#でJSONの往復変換を行う

このレッスンでは、レコードをJSONに変換してから読み戻し、データがそのまま保たれていることを確認します。

はじめに

オブジェクトをJSONに変換してから読み戻す往復変換(round trip)は、データモデルが正しく保存・復元されるかを確かめる実践的な方法です。ユーザーの設定を保存したり、APIでデータをやり取りしたりするときに特に重要です。

SerializeはレコードSettingsをJSON文字列に変換します。Deserializeのとき、System.Text.Jsonはコンストラクターの引数と公開プロパティをもとにレコードを作り直します。結果がnullのこともあるので、プログラムは演算子?.を使い、元のデータどおりdark: 16と表示します。

実行できる C# の例

C#
コードを実行 →
Program.cs
using System;
using System.Text.Json;
record Settings(string Theme, int FontSize);
class Program
{
    static void Main()
    {
        string json = JsonSerializer.Serialize(new Settings("dark", 16));
        Settings? settings = JsonSerializer.Deserialize<Settings>(json);
        Console.WriteLine($"{settings?.Theme}: {settings?.FontSize}");
    }
}
実行結果
dark: 16

デバッガーで練習する

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

チャレンジで練習する

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

すべてのチャレンジ