使用动态密钥将Json解析为动态c#对象

use*_*101 6 c# parsing json google-calendar-api

我正在尝试解析我使用c#从他们的Rest API获取的Google日历响应,但我似乎一直在卡住.[编辑]更新,@符号没有阻止钻头下来,我通过更换验证@_at_.查看快速手表的屏幕截图: 在此输入图像描述

我确定我错误地访问了这个...

这是jsonString我正在尝试解析的:

{
 "kind": "calendar#freeBusy",
 "timeMin": "2015-06-12T14:00:00.000Z",
 "timeMax": "2015-06-14T14:00:00.000Z",
 "calendars": {
  "joe@bobs.com": {
   "busy": [
    {
     "start": "2015-06-13T18:30:00Z",
     "end": "2015-06-13T19:30:00Z"
    },
    {
     "start": "2015-06-13T20:30:00Z",
     "end": "2015-06-13T21:30:00Z"
    },
    {
     "start": "2015-06-13T23:00:00Z",
     "end": "2015-06-14T00:00:00Z"
    }
   ]
  }
 }
}
Run Code Online (Sandbox Code Playgroud)

我尝试过使用:

dynamic myObj = Json.Decode(jsonString);
Run Code Online (Sandbox Code Playgroud)

var myObj = JsonConvert.DeserializeObject(jsonString);
Run Code Online (Sandbox Code Playgroud)

但我无法弄清楚如何进入joe@bobs.com密钥(基于我发送的内容是动态的)来循环所有忙碌时间.

想法?

在此输入图像描述

Dav*_*sch 3

您可以通过字符串索引器访问它:

var myObj = JsonConvert.DeserializeObject<dynamic>(jsonString);
Console.WriteLine(myObj.calendars["joe@bobs.com"]);
Run Code Online (Sandbox Code Playgroud)