はじめに
Newtonsoft.Json
を使用して、JsonファイルのSave/Loadをする。
インストール
コンソールでのパッケージ追加
Install-Package Newtonsoft.Json
コード
サンプルのデータモデル
class DataModel
{
public string Name { get; set; }
public int Age { get; set; }
}
JsonファイルのSave/Load
static void SaveToJsonFile<T>(T data, string filePath)
{
string jsonData = JsonConvert.SerializeObject(data, Formatting.Indented);
File.WriteAllText(filePath, jsonData);
}
static T LoadFromJsonFile<T>(string filePath)
{
if (File.Exists(filePath))
{
string jsonData = File.ReadAllText(filePath);
return JsonConvert.DeserializeObject<T>(jsonData);
}
else
{
throw new FileNotFoundException($"File not found: {filePath}");
}
}
サンプルコード
var data = new DataModel
{
Name = "Name1",
Age = 30
};
var data2 = new DataModel
{
Name = "Name2",
Age = 10
};
List<DataModel> data_list = new List<DataModel>();
data_list.Add(data);
data_list.Add(data2);
string json = JsonConvert.SerializeObject(data_list, Formatting.Indented);
Console.WriteLine($"Serialized JSON: {json}");
// JSONデータをデシリアライズ(JSON → オブジェクト)
var deserializedData = JsonConvert.DeserializeObject<List<DataModel>>(json);
Console.WriteLine($"Deserialized Data - Name: {deserializedData[0].Name}, Age: {deserializedData[0].Age}");
// ファイルへ保存
SaveToJsonFile(data_list, "file.json");
// ファイルから読み出し
var loadedData = LoadFromJsonFile<List<DataModel>>("file.json");
参考ページ