JsonException
JsonSerializer.Deserialize ожидает
валидный JSON. Строка "abcde" не
подходит и вызывает JsonException из
System.Text.Json. Исключение
перехватывают при разборе ответа API.
Формат строки без JSON описан в
FormatException.
Синтаксис
using System.Text.Json;
int num = JsonSerializer.Deserialize<int>("12345");
Пример
Давайте поймаем JsonException:
using System;
using System.Text.Json;
class Program
{
static void Main()
{
try
{
JsonSerializer.Deserialize<int>("abcde");
}
catch (JsonException)
{
Console.WriteLine("fail");
}
}
}
Результат выполнения кода:
"fail"
Пример
Давайте успешно разберём число в кавычках JSON:
using System;
using System.Text.Json;
class Program
{
static void Main()
{
int res = JsonSerializer.Deserialize<int>("12345");
Console.WriteLine(res);
}
}
Результат выполнения кода:
12345
Пример
Давайте проверим тип пойманного сбоя:
using System;
using System.Text.Json;
class Program
{
static void Main()
{
try
{
JsonSerializer.Deserialize<int>("abcde");
}
catch (JsonException ex)
{
Console.WriteLine(ex is Exception);
}
}
}
Результат выполнения кода:
True
Смотрите также
-
FormatException,
сбой формата текста в целом -
HttpRequestException,
когда запрос не удался до разбора JSON -
RegexParseException,
когда неверный шаблон регулярного выражения -
Exception,
базовый тип