Json.NETで。
シリアライズ
string ret = JsonConvert.SerializeObject(hoge);
デシリアライズ
var settings = new JsonSerializerSettings { NullValueHandling = NullValueHandling.Ignore, // nullの場合はクラスのプロパティを無視する MissingMemberHandling = MissingMemberHandling.Ignore // プロパティがデシリアラズする側に存在しない場合は無視 }; Hoge hoge = JsonConvert.DeserializeObject<Hoge>(json, settings);
Core 3.0以降なら System.Text.Json がいいかも。Microsoft公式だし。
ネタ元
- https://qiita.com/ta-yamaoka/items/a7ff1d9651310ade4e76
- https://www.it-swarm.dev/ja/c%23/jsonnet%E3%82%92%E4%BD%BF%E7%94%A8%E3%81%97%E3%81%A6%E3%80%81null%E3%81%AE%E5%A0%B4%E5%90%88%E3%81%AF%E3%82%AF%E3%83%A9%E3%82%B9%E3%81%AE%E3%83%97%E3%83%AD%E3%83%91%E3%83%86%E3%82%A3%E3%82%92%E7%84%A1%E8%A6%96%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95/972668925/
- https://blog.beachside.dev/entry/2016/04/20/084500#line3