170 похожих чатов

Ребят пытаюсь дессерилизовать пустой json объект с помощью Newtonsoft.Json

на словарь - вылетает ошибка, оно то и понятно, но как фиксить?

20 ответов

6 просмотров

Может ты это... Ошибку там кинешь, код?

Alexander- Автор вопроса
Andrew Shurunov
Может ты это... Ошибку там кинешь, код?

Cannot deserialize the current JSON array (e.g. [1,2,3]) into type 'System.Collections.Generic.IDictionary

А пустой это как? {}? Нужно проверить хотя бы, что если нет объектов внутри, то выдавать Default

Alexander- Автор вопроса
Alexander
JsonConvert.DeserializeObject<IDictionary<string, ...

Только проверкой. Сам он создавать default не умеет.

Alexander
Cannot deserialize the current JSON array (e.g. [1...

А почему бы просто в try catch не обернуть, если ты не знаешь, придет тебе dictionary или нет

Alexander- Автор вопроса
Николай Threadripper
Только проверкой. Сам он создавать default не умее...

и что и как проверять? строку регулярками? или что?

Alexander- Автор вопроса
Andrew Shurunov
А почему бы просто в try catch не обернуть, если т...

потому что это нормлаьная ситуация а не исключительная .... у модели может быть оно пустое

Alexander
потому что это нормлаьная ситуация а не исключител...

С точки зрения jsonconvert она исключительная Ты нормализуешь её у себя, делая catch

Alexander
и что и как проверять? строку регулярками? или что...

Можно просто на длину строки > 0 для начала. Но в итоге там же можно быть и не тот объект вообще.. Поэтому вывести десериализацию в метод, который будет либо Bool либо nullable. Возвращать.

Alexander- Автор вопроса
Andrew Shurunov
А почему бы просто в try catch не обернуть, если т...

данные могут придти битыми и я тогда не узнаю, пришли битые данные или нормальные, а он тупо распарсить не может

Alexander- Автор вопроса
Николай Threadripper
Можно просто на длину строки > 0 для начала. Но в ...

там приходит огромный массив данных, у модели этот параметр может быть а может и не быть, и когда он есть все нормально, если он пустой приходит, то ошибка

Alexander
данные могут придти битыми и я тогда не узнаю, при...

Ну напиши так bool TryParse<T>(string input, out T result){ try{ result = JsonConver.Deserialize<T>(input); return true; } catch{ return false; } }

Пишет же что там массив

Alexander- Автор вопроса
Сергей
Пишет же что там массив

public class MyModel { public IDictionary<string, string> Field1 { get; set; } public IDictionary<string, string> Field2 { get; set; } } JsonConvert.DeserializeObject<MyModel>("{ 'fileld1': {}, 'field2' {'key':'value', 'key':'value'}}");

Alexander
public class MyModel { public IDictionary<stri...

Ну тут у Вас json битый же

Dr. Friedrich von Never
Ну совсем маленько же :)

Действительно, newtonsoft мог бы и починить)

Alexander- Автор вопроса

я ему написал)

Alexander
я ему написал)

Ну нормально Дали кривой код, а потом говорите, что это для примера Покажите код и ошибку, что ли, только, уточняю, реальные

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

Обсуждают сегодня

я не магистр хаскеля, но разве не может лейзи тип конвертнуться в не-лейзи запросив вычисление содержимого прям при инициализации?
deadgnom32 λ madao
100
в сях есть множество как в питоне? для удаление дубликатов
Linus
25
читать файл максимально быстро? странный вопрос))
zamtmn
53
How to create an OS in C? what to study?
Linus
18
тоесть, указав return eax, сгенерируется никому ненужная инструкция mov eax,eax ?
Aiwan \ (•◡•) / _bot
24
Всем доброго вечера! Хочу поделиться своим злоключением с человеком, который, как оказалось сюда тоже скидывал свое резюме. Жаль, что я вашу группу не нашел раньше… человек ки...
Роман Ахмедзянов
4
а как бы вылезти из ИО, что то типа IO -> Ether или в какую сторону смотреть ? что то туплю
Fedor
8
Компания Elif ищет менеджера проектов, который будет заниматься поиском и ведением новых проектов. Прежде чем приступить к работе, вам нужно пройти наш недельный курс, где вы ...
Elif
5
Привет, кто может сделать юзербота с апи? Задачи: - создавать группы - создавать каналы - задавать для созданных каналов аватарку или эмоджи, имя группы - добавлять в группы...
Lencore
11
а зачем этот вопрос для удаления из чата?
Mёdkinson Medvezhkin
63
Карта сайта