Newtonsoft JSON - Динамические объекты
Я использую библиотеку Newtonsoft JSON для динамической десериализации входящего необработанного JSON и обнаружил кое-что, что только могуобъяснить
Отправной точкой является следующая строка JSON:
{
"task": {
"dueDate": "2012-12-03T00:00:00"
}
}
Там нет ничего сложного ...
Затем в коде я делаю это:
var dyn = JsonConvert.DeserializeObject(rawJson);
DateTime dueDate = dyn.task.dueDate.Value;
Этот код работает уже несколько месяцев и работает нормально, однако в последней тестовой сборке мы увидели следующую ошибку: '
Newtonsoft.Json.Linq.JObject» не содержит определения длязадача»
Трассировка стека: в CallSite.Target (Closure, CallSite, Object) в System.Dynamic.UpdateDelegates.UpdateAndExecute1 [T0, TRet] (сайт CallSite, T0 arg0)
Теперь это становится странным, все начинает работать снова, если я изменяю код выше с:
DateTime dueDate = dyn.task.dueDate.Value;
в
DateTime dueDate = dyn["task"]["dueDate"].Value;
Итак, хотя этофиксированный" Я неЯ не понимаю, почему это исправляет это и какова возможная причина. У кого-нибудь есть идеи