KnowledgeHub
Questions
Tags
Users
Search
Alex Rivera
|
Logout
Edit Question
Title
Body
I am using the Newtonsoft JSON library to perform dynamic deserialisation on incoming raw JSON and have found something that I just can't explain. The starting point is the following JSON string: { "task": { "dueDate": "2012-12-03T00:00:00" } } Nothing too complex there... In code I am then doing this: var dyn = JsonConvert.DeserializeObject<dynamic>(rawJson); DateTime dueDate = dyn.task.dueDate.Value; This code has been in place for months and works fine, however in a recent test build we were seeing the following error: 'Newtonsoft.Json.Linq.JObject' does not contain a definition for 'task' Stack Trace: at CallSite.Target(Closure , CallSite , Object ) at System.Dynamic.UpdateDelegates.UpdateAndExecute1[T0,TRet](CallSite site, T0 arg0) Now this is where is gets odd, everything starts to work again if I change the code above from: DateTime dueDate = dyn.task.dueDate.Value; to DateTime dueDate = dyn["task"]["dueDate"].Value; So, although this is "fixed" I don't understand why this fixes it and what the possible cause could be. Does anybody have any ideas
Tags (comma-separated)
Save Edits
Cancel