【C#】Dictionary(ディクショナリ)をJSON形式で保存する方法
C#のディクショナリをJSON形式で保存する手順を説明します。この資料では、System.Text.Json
を使用した具体的なコード例を提供します。
目次
前提条件
基本的なC#プログラミングの知識があること。
Jsonライブラリについて
System.Text.Jsonは、.NET Core 3.0以上および.NET 5以上では標準で組み込まれているため、NuGetパッケージを追加する必要がありません。しかし、.NET FrameworkプロジェクトでSystem.Text.Jsonを使用する場合は、デフォルトで含まれていないため、NuGetパッケージをインストールする必要があります。
まとめると
- .NET Core 3.0以上および.NET 5以上:
System.Text.Json
は標準ライブラリに含まれているため、NuGetパッケージを追加する必要はありません。 - .NET Framework:
System.Text.Json
を使用するには、NuGetからパッケージをインストールする必要があります。
手順
ディクショナリの作成
var dictionary = new Dictionary<string, int>
{
{ "Apple", 1 },
{ "Banana", 2 },
{ "Cherry", 3 }
};
ディクショナリをJSONにシリアライズ
string jsonString = JsonSerializer.Serialize(dictionary);
JSON文字列をファイルに保存
File.WriteAllText("dictionary.json", jsonString);
ファイルからJSONを読み込み、ディクショナリにデシリアライズ
string jsonFromFile = File.ReadAllText("dictionary.json");
var deserializedDictionary = JsonSerializer.Deserialize<Dictionary<string, int>>(jsonFromFile);
完全なコード例
using System;
using System.Collections.Generic;
using System.IO;
using System.Text.Json;
class Program
{
static void Main()
{
// ディクショナリの作成
var dictionary = new Dictionary<string, int>
{
{ "Apple", 1 },
{ "Banana", 2 },
{ "Cherry", 3 }
};
// ディクショナリをJSONにシリアライズ
string jsonString = JsonSerializer.Serialize(dictionary);
// JSONをファイルに保存
File.WriteAllText("dictionary.json", jsonString);
Console.WriteLine("JSONを保存しました: " + jsonString);
// ファイルからJSONを読み込み、ディクショナリにデシリアライズ
string jsonFromFile = File.ReadAllText("dictionary.json");
var deserializedDictionary = JsonSerializer.Deserialize<Dictionary<string, int>>(jsonFromFile);
// デシリアライズされたディクショナリの内容を表示
foreach (var kvp in deserializedDictionary)
{
Console.WriteLine($"{kvp.Key}: {kvp.Value}");
}
}
}
まとめ
この技術資料では、C#のディクショナリをJSON形式で保存し、再びディクショナリに読み込む方法を説明しました。シンプルなサンプルコードを通じて、System.Text.Json
の基本的な使い方を学ぶことができました。
ディスカッション
コメント一覧
まだ、コメントがありません