Sytem.Text.Json を使用してC#でJSONを使う
クラス
public class Book
{
public int Id { get; set; }
public string Title { get; set; }
public DateTime Read { get; set; }
[JsonIgnore] // 対象外(プロパティを無視)
public bool IsGood { get; set; }
}
シリアライズとデシリアライズ
// オプション設定
JsonSerializerOptions options = new JsonSerializerOptions
{
Encoder = JavaScriptEncoder.Create(UnicodeRanges.All), // 日本語
WriteIndented = true // インデント
};
List<Book> books = new List<Book>
{
new Book{ Id = 1, Title = "吾輩は猫である", Read = new DateTime(2001,3,5)},
new Book{ Id = 2, Title = "のらくろ 1", Read =new DateTime(2001,3,20)},
};
string jsonString = JsonSerializer.Serialize(books, options);
// デシリアライズ
var books_2 = JsonSerializer.Deserialize<List<Book>>(jsonString);