私は、Newtonsoft JSONライブラリを使用して、受信した生のJSONで動的非直列化を実行しています。されているこのコードNewtonsoft JSON - 動的オブジェクト
var dyn = JsonConvert.DeserializeObject<dynamic>(rawJson);
DateTime dueDate = dyn.task.dueDate.Value;
:私はこれをやっているコードであり、あまりにも複雑
{
"task": {
"dueDate": "2012-12-03T00:00:00"
}
}
何も...
:
出発点は、次のようなJSON文字列です。数ヶ月間はうまく動作していますが、最近のテストビルドでは、次のエラーが表示されていました:
'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)
さて、これは奇妙な取得した場合、すべては私から上記のコードを変更した場合、再び作業を開始している。これは私が「固定」されているが、そう
DateTime dueDate = dyn["task"]["dueDate"].Value;
に
DateTime dueDate = dyn.task.dueDate.Value;
これがなぜそれを修正し、起こりうる原因が何であるかを理解してはいけません。誰もが任意のアイデア
を持っています
使用しているJson.NETのバージョンを変更しましたか? –
いいえ、それは私の最初の考えでした。コードとライブラリの両方の変更履歴を見れば、ライブで何が起きているのか変更されていないことがわかります – MrEyes
これは "最初のチャンスの例外"ダイナミクス(エラーログインなどで詳細レベルを上げたことがありますか?) – tpeczek