C# json シリアル化と逆シリアル化
C#でも他言語と同様に、jsonとオブジェクトを相互変換するためのメソッドが用意されている
System.Text.Json
Newtonsoft.Json
とSystem.Text.Json
Usage
シリアル化(シリアライズ)
C#オブジェクトをjsonに変換
逆シリアル化(デシリアライズ)
- 事前に変換先のC#オブジェクトを用意
- jsonとオブジェクトのプロパティ名を一致させる必要がある
jsonファイルを読み込み、C#オブジェクトに変換
using System.Text.Json;
namespace Sample
{
class Program
{
string filePath = "../sample/sample.json";
string? json = File.ReadAllText(filePath);
var person = JsonSerializer.Deserialize<Person>(json);
}
}
Reference
シリアル化 (C#)
.NET 内で JSON のシリアル化と逆シリアル化 (マーシャリングとマーシャリングの解除) を行う方法
System.Text.Json でプロパティの名前と値をカスタマイズする方法
System.Text.Json で文字エンコードをカスタマイズする方法
Newtonsoft.Json と System.Text.Json を比較して、System.Text.Json に移行する