Создаем портфолио за 1 месяц
К концу месяца: 4 классных проекта в вашем портфолио! Стоимость: 100$. Подробности...
1298 of 1492 menu
◀ ▶

JsonIgnore

С JsonIgnore ключ не попадает ни в JSON при записи, ни в объект при чтении. Условие WhenWritingNull пропускает свойство только при null. Переименование - JsonPropertyName, обязательность - JsonRequired.

Синтаксис

using System.Text.Json.Serialization; [JsonIgnore] public string Hidden { get; set; }

Пример

Давайте не записывать свойство Skip:

using System; using System.Text.Json; using System.Text.Json.Serialization; class Data { public string Keep { get; set; } [JsonIgnore] public string Skip { get; set; } } class Program { static void Main() { string json = JsonSerializer.Serialize( new Data { Keep = "abcde", Skip = "x" }); bool res = !json.Contains("Skip"); Console.WriteLine(res); } }

Результат выполнения кода:

True

Пример

Давайте прочитать JSON без ключа Skip:

using System; using System.Text.Json; using System.Text.Json.Serialization; class Data { public string Keep { get; set; } [JsonIgnore] public int Skip { get; set; } = 99; } class Program { static void Main() { var data = JsonSerializer.Deserialize<Data>( "{\"Keep\":\"abcde\"}"); int res = data.Skip; Console.WriteLine(res); } }

Результат выполнения кода:

99

Пример

Давайте пропустить null при записи:

using System; using System.Text.Json; using System.Text.Json.Serialization; class Msg { public string Title { get; set; } = "abcde"; [JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)] public string Note { get; set; } } class Program { static void Main() { string json = JsonSerializer.Serialize( new Msg { Title = "abcde", Note = null }); bool res = json.Contains("abcde") && !json.Contains("Note"); Console.WriteLine(res); } }

Результат выполнения кода:

True

Смотрите также

← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить