Writing a custom deserializer in .NET 5