System.Text.Json はプロパティ名の大文字小文字違いでが読めなくなります。
例えば次のようなクラスに
class Data { public string? Content { get; set; } }
次のような JSON では、Content
プロパティに値が入りません。
{ "content":"test"}
そんな時は、JsonSerializerOptions を使います。
var json = @"{ ""content"":""test""}"; // Content に値が入らない System.Console.WriteLine(System.Text.Json.JsonSerializer.Deserialize<Data>(json)?.Content); // Content に値が入る System.Console.WriteLine(System.Text.Json.JsonSerializer.Deserialize<Data>(json, new System.Text.Json.JsonSerializerOptions { PropertyNameCaseInsensitive = true })?.Content); class Data { public string? Content { get; set; } }
いかがでしたか?
いかがでしたか?