Задать вопрос

Как в JsonSerializer.Deserialize игнорировать ошибки десериализации битого json?

Есть битый json с информацией, которую надо десериализировать хотя бы частично. Как обойти ошибки?
Например, может быть не закрыта фигурная скобка в конце или внутри текстового значения кавычки заэкранированы не \", а "\.
Из таких мутантских файлах на входе надо как-то вытащить хотя бы часть информации...

Вроде у Newtonsoft.Json в опциях было свойство Error, которое позволяло настроить обработчик ошибок и там их обходить, а как такое можно сделать для System.Text.Json?

При этом сами VS и VSC такие файлы разбирают, с ругательствами, конечно, но все же...
  • Вопрос задан
  • 181 просмотр
Подписаться 2 Средний 11 комментариев
Помогут разобраться в теме Все курсы
  • Яндекс Практикум
    Продвинутая разработка на C# и .NET
    5 месяцев
    Далее
  • Stepik
    PRO C#. Профессия "Backend разработчик"
    4 месяца
    Далее
  • Merion Academy
    C# разработчик с нуля
    4 месяца
    Далее
Решения вопроса 1
VoidVolker
@VoidVolker Куратор тега C#
Dark side eye. А у нас печеньки! А у вас?
В System.Text.Json нет такой фичи: https://github.com/dotnet/runtime/issues/38049
Поэтому используйте библиотеку Newtonsoft и аттрибут OnError: https://www.newtonsoft.com/json/help/html/Serializ...
Реальный пример: https://github.com/VoidVolker/LockScreen/blob/80c0...
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы