Десериализация данных в неизменяемые объекты в C# работает следующим образом: объект, который подвергается десериализации, должен иметь либо конструктор без параметров, либо конструктор, для всех параметров которого в десериализуемом JSON-объекте есть значения. 5
Соответствие между параметрами конструктора и свойствами JSON-объекта устанавливается на основе названий, причём регистр не играет значения. 5 Сериализации подлежат только публичные свойства объекта (с модификатором public). 5
Для десериализации кода JSON в объект C# применяется метод Deserialize() и его асинхронный двойник DeserializeAsync(). 5 По умолчанию все свойства JSON, которые не представлены в классе, игнорируются. 1 Если необходимы какие-либо свойства типа, но не присутствуют в полезных данных JSON, десериализация завершится ошибкой. 1