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

JsonInclude

Публичное свойство с get и set попадает в JSON и без атрибутов. JsonInclude нужен для непубличного set или поля. Скрыть член - JsonIgnore, переименовать - JsonPropertyName.

Синтаксис

using System.Text.Json.Serialization; [JsonInclude] public string Value { get; private set; }

Пример

Давайте сериализовать публичное свойство:

using System; using System.Text.Json; class Open { public string Name { get; set; } } class Program { static void Main() { string json = JsonSerializer.Serialize( new Open { Name = "abcde" }); bool res = json.Contains("abcde"); Console.WriteLine(res); } }

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

True

Пример

Давайте заполнить свойство с private set через JsonInclude:

using System; using System.Text.Json; using System.Text.Json.Serialization; class Secret { [JsonInclude] public int Value { get; private set; } } class Program { static void Main() { var secret = JsonSerializer.Deserialize<Secret>( "{\"Value\":12345}"); int res = secret.Value; Console.WriteLine(res); } }

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

12345

Пример

Давайте прочитать JSON без JsonInclude:

using System; using System.Text.Json; class Locked { public int Value { get; private set; } } class Program { static void Main() { var lockedObj = JsonSerializer.Deserialize<Locked>( "{\"Value\":12345}"); bool res = lockedObj.Value == 0; Console.WriteLine(res); } }

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

True

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

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