Пропуск свойства при сериализации в C#
Свойство можно не записывать в JSON. В тексте останется обычное поле, а помеченное не попадёт.
JSON содержит "main", но не
"Secret" - проверка Contains
даёт false для secret:
using System.Text.Json;
using System.Text.Json.Serialization;
string json = JsonSerializer.Serialize(new Counter { Name = "main", Secret = 99 });
Console.WriteLine(json.Contains("main"));
Console.WriteLine(json.Contains("Secret", StringComparison.OrdinalIgnoreCase));
class Counter
{
public string Name { get; set; } = "";
[JsonIgnore] public int Secret { get; set; }
}
Первая проверка истинна: имя записано. Вторая
ложна: свойства Secret в строке нет.
Опишите сотрудника с именем "Lena" и кодом
42. Запишите объект в JSON так, чтобы
код в текст не попал. Выведите 1, если
42 в строке нет.