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

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

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

20 ответов

29 просмотров

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

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
я ему написал)

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

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

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

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта