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

PropertyNameCaseInsensitive

PropertyNameCaseInsensitive = true читает "name" в свойство Name. Без флага "name" не заполняет Name, и свойство остаётся null. Передают в JsonSerializerOptions.

Синтаксис

options.PropertyNameCaseInsensitive = true;

Пример

Давайте разобрать JSON с "name":

using System; using System.Text.Json; class Item { public string Name { get; set; } } class Program { static void Main() { var options = new JsonSerializerOptions { PropertyNameCaseInsensitive = true }; Item item = JsonSerializer.Deserialize<Item>( "{\"name\":\"abcde\"}", options); Console.WriteLine(item.Name); } }

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

"abcde"

Пример

Давайте разобрать без флага:

using System; using System.Text.Json; class Item { public string Name { get; set; } } class Program { static void Main() { Item item = JsonSerializer.Deserialize<Item>( "{\"name\":\"abcde\"}"); bool res = item.Name == null; Console.WriteLine(res); } }

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

True

Пример

Давайте сравнить с точным "Name":

using System; using System.Text.Json; class Item { public string Name { get; set; } } class Program { static void Main() { Item item = JsonSerializer.Deserialize<Item>( "{\"Name\":\"abcde\"}"); Console.WriteLine(item.Name); } }

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

"abcde"

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

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