Deserializing immutable object with SnakeCase resolver is throwing exception.
Repro code:
public class Person
{
public readonly int Age;
public readonly string FirstName;
public Person(int age, string firstName)
{
Age = age;
FirstName = firstName;
}
}
class Program
{
static void Main(string[] args)
{
Person p;
// default
var json = @"{""Age"":1,""FirstName"": ""Ivan""}";
p = JsonSerializer.Deserialize<Person>(json, StandardResolver.Default); // OK
Console.WriteLine($"Age: {p.Age}, FirstName: {p.FirstName}");
// snake
var jsonSnake = @"{""age"":1,""first_name"": ""Ivan""}";
p = JsonSerializer.Deserialize<Person>(jsonSnake, StandardResolver.SnakeCase); // System.InvalidOperationException: 'generated serializer for Person does not support deserialize.'
Console.WriteLine($"Age: {p.Age}, FirstName: {p.FirstName}");
Console.ReadKey();
}
}
Deserializing immutable object with SnakeCase resolver is throwing exception. Repro code: