Используйте System.Text.Json для десериализации свойств с помощью частных установщиков
Есть ли способ использовать System.Text.Json.JsonSerializer.Deserialize с объектом, который содержит свойства частных установщиков, и заполнить эти свойства? (как Newtonsoft.Json)
2 ответа
Решение
В.NET Core 3.x это невозможно. В шкале времени.NET 5 добавлена поддержка.
Согласно официальной документации (C# 9), у вас есть 2 варианта:
- Использовать
init
вместоset
на собственности. Напримерpublic string Summary { get; init; }
- Добавлять
JsonInclude
атрибут свойств с частными сеттерами. Например[JsonInclude] public string Summary { get; private set; }
В любом случае JsonSerializer.DeserializeAsync сделает это за вас.