RestSharp deserialisiert die JSON-Objektliste nicht, immer Null

Ich habe ein Problem damit, dass RestSharp den zurückgegebenen Inhalt in meine Klassen deserialisiert. Meiner Suche nach scheint es, dass ich das richtig mache. Ich würde lieber den Deserializer von RestSharp verwenden, als auf ein anderes Paket wie Json.NET von Newstonsoft zurückgreifen zu müssen.

Was ich tue, ist eine API-Anfrage an GoToWebinar für alle geplanten Webinare:

<code>var client = new RestClient(string.Format("https://api.citrixonline.com/G2W/rest/organizers/{0}/upcomingWebinars", "300000000000239000"));
var request = new RestRequest(Method.GET);
request.AddHeader("Authorization", "OAuth oauth_token=" + System.Configuration.ConfigurationManager.AppSettings["GoToWebinar"]);
var response2 = client.Execute<List<RootObject>>(request);
</code>

Wie Sie sehen, möchte ich eine Liste des Objekts 'RootObject' (wie unten gezeigt) erhalten. Ich erhalte die folgende JSON-Antwort in response2.Content:

<code>[
   {
      "webinarKey":678470607,
      "subject":"Easton's Wild Rice Cooking Demo",
      "description":"Lorem ipsum dolor sit amet, consectetur adipiscing elit.",
      "organizerKey":300000000000239551,
      "times":[{"startTime":"2012-05-09T15:00:00Z","endTime":"2012-05-09T16:00:00Z"}],
      "timeZone":"America/Denver"
   },
   {
      "webinarKey":690772063,
      "subject":"Easton's Match Making Service",
      "description":"Lorem ipsum dolor sit amet, consectetur adipiscing elit.",
      "organizerKey":300000000000239551,
      "times":[{"startTime":"2012-05-09T15:00:00Z","endTime":"2012-05-09T16:00:00Z"}],
      "timeZone":"America/Denver"
   }
]
</code>

Ich habe die folgenden Objekte mit erstellthttp://json2csharp.com Verwenden der obigen JSON-Ergebnisse:

<code>public class RootObject
{
    public int webinarKey { get; set; }
    public string subject { get; set; }
    public string description { get; set; }
    public long organizerKey { get; set; }
    public List<Time> times { get; set; }
    public string timeZone { get; set; }
}

public class Time
{
    public string startTime { get; set; }
    public string endTime { get; set; }
}
</code>

Das Problem ist response2.Data ist immer Null. Aus irgendeinem Grund ist die Deserialisierung fehlgeschlagen und ich weiß nicht warum. Mein Ziel ist es, eine foreach-Schleife zu verwenden, um die Ergebnisse zu durchlaufen:

<code>foreach(RootObject r in response2.Data)
{
    lblGoToWebinar.Text += r.webinarKey.ToString() + ", ";
}
</code>

Irgendwelche Ideen, warum die Deserialisierung fehlschlägt?

Antworten auf die Frage(2)

Ihre Antwort auf die Frage