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

NumberHandling

NumberHandling с AllowReadingFromString читает JSON-строку "12345" в int. Без флага та же строка даёт JsonException. Задаётся в JsonSerializerOptions.

Синтаксис

options.NumberHandling = JsonNumberHandling.AllowReadingFromString;

Пример

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

using System; using System.Text.Json; using System.Text.Json.Serialization; class Program { static void Main() { var options = new JsonSerializerOptions { NumberHandling = JsonNumberHandling.AllowReadingFromString }; int res = JsonSerializer.Deserialize<int>( "\"12345\"", options); Console.WriteLine(res); } }

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

12345

Пример

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

using System; using System.Text.Json; class Program { static void Main() { try { JsonSerializer.Deserialize<int>("\"12345\""); } catch (JsonException) { Console.WriteLine("fail"); } } }

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

"fail"

Пример

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

using System; using System.Text.Json; using System.Text.Json.Serialization; class Program { static void Main() { var options = new JsonSerializerOptions { NumberHandling = JsonNumberHandling.AllowReadingFromString }; int res = JsonSerializer.Deserialize<int>("12345", options); Console.WriteLine(res); } }

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

12345

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

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