Ошибка разбора JSON в C#
Невалидный JSON - лишняя запятая, незакрытая
скобка или ключ без кавычек - приводит к
JsonException при разборе. Такую ошибку
ловят при приёме текста, до остальной работы
программы.
Строка "{bad" не является объектом - в
консоли можно напечатать "invalid" в
обработчике:
using System.Text.Json;
try
{
JsonDocument.Parse("{bad");
}
catch (JsonException)
{
Console.WriteLine("invalid");
}
Тот же сбой даёт разбор сломанного текста в
словарь. Исключение перехватывают, и программа
печатает 1:
using System.Text.Json;
try
{
JsonSerializer.Deserialize<Dictionary<string, int>>("{bad:");
}
catch (JsonException)
{
Console.WriteLine(1);
}
Попробуйте разобрать текст "[1,2," как
список чисел. Если текст сломан, выведите
слово "error".