У меня есть файл Json, содержащий несколько объектов списка в родительском. В моем случае родительский объект представляет собой список с именем data. Внутри данных у меня есть несколько элементов, которые содержат такие данные, как имя, статус, название ... Вложенные в каждый из этих элементов - это другой список с именем «категории». Я пишу значение этих элементов в класс, используя приведенный здесь фрагмент кода:Как обрабатывать отсутствующий вложенный список в Json, который содержит несколько списков
var dict = jss.Deserialize<Dictionary<string, dynamic>>(json);
for (int i = 0; i < dict.Values.Sum(x => x.Count); i++)
{
foreach (var item in dict)
{
eSummary summary = new eSummary();
summary.evidenceId = (dict["data"][i]["evidenceId"]);
summary.idExternal = (dict["data"][i]["idExternal"]);
//summary.category = (dict["data"][i]["categories"][0]);
summary.dateUploaded = Convert.ToDateTime((dict["data"][i]["dateUploaded"]));
}
}
Все в порядке, пока не достигнет записи, которая не имеет пары значений в списке категорий. По-видимому, если в списке категорий нет элементов, список не включается в родительские данные json, и мой код разбивается на строку, которую я прокомментировал.
Итак, моя проблема в том, как я могу обрабатывать ситуацию с отсутствующим списком объектов из родительского списка?
Прямо сейчас я передаю его с помощью блока catch catch с ничем в блоке catch, но решил, что должен быть лучший способ.
Пожалуйста см [ «Должны ли вопросы включают„метки“? В своих названиях»] (http://meta.stackexchange.com/questions/19190/should-questions-include-tags-in-their-titles), где консенсус «нет, они не должны»! –
Хорошо, спасибо, что я буду помнить, что в следующий раз, когда я отправлю вопрос – Perry
, вы должны сначала проверить null, и если это так, установите значение по умолчанию, которое вы хотели бы в этом случае. Так, если, например, вы хотите, чтобы категория была установлена в "", если в родительских данных нет списка категорий, вы должны написать: 'summary.category = dict [" data "] [i] [" categories "] == ноль ? "": dict ["data"] [i] ["categories"] [0] ' – ThomasC