c# - 使用动态键将 Json 解析为动态 c# 对象

标签 c# json parsing google-calendar-api

我正在尝试使用 C# 解析我从他们的 Rest API 获得的这个 Google 日历响应,但我似乎一直卡住了。 [已编辑] 更新,@ 符号不会阻止向下钻取,我通过将 @ 替换为 _at_ 进行了验证。看快看截图: enter image description here

我确定我访问的不正确...

这是我要解析的 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"
    }
   ]
  }
 }
}

我试过使用:

dynamic myObj = Json.Decode(jsonString);

var myObj = JsonConvert.DeserializeObject(jsonString);

但我不知道如何进入 joe@bobs.com 键(根据我发送的内容是动态的)来循环所有繁忙时间。

想法?

enter image description here

最佳答案

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

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

关于c# - 使用动态键将 Json 解析为动态 c# 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30823027/

相关文章:

c# - 如何抑制 thread.abort() 错误 C#?

java - 将带有句点的 Json 属性映射到 Spring Controller 中的类属性

json - 结果打印空 Json

parsing - ANTLR语法: parser- and lexer literals

c# - 用于验证 double 值的正则表达式

c# - 如何对 0..n 关系进行 linq 主详细信息查询?

c++ - SQL 语句的解析树 - 精确针对 "SELECT"语句

parsing - 在 Kusto 中的匹配单词后提取以下单词

c# - 如何为 Outlook AppointmentItem 的类别着色

json - 将 json 从一个 Node 服务器传递到另一 Node 服务器 - 最有效的方法?