RestSharp ile dönüş içeriğinin sınıflarıma serpiştirilmesi konusunda bir sorun yaşıyorum. Tüm aramalarımdan, bunu doğru bir şekilde yapıyorum gibi görünüyor. NewsSoft'un Json.NET'i gibi başka bir pakete geri dönmek zorunda kalmaktan çok, RestSharp'ın serpantini kullanıyorum.RestSharp JSON Nesne Listesini ayırma, her zaman Null
Ne planlanan Webinars tüm listesi için GoToWebinar bir API istekte bulunuyor yapıyorum:
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);
Sana (aşağıda gösterildiği gibi) nesnesi 'RootObject' listesini almak istiyorum Gördüğünüz gibi. Ben response2.Content aşağıdaki JSON yanıtını alıyorum:
[
{
"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"
}
]
Yukarıda JSON sonuçlarını kullanarak
http://json2csharp.com kullanarak aşağıdaki nesneler yarattı:
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; }
}
sorun response2.Data hep boş olmasıdır. Bir nedenden ötürü serileşme başarısız oldu ve nedenini bilmiyorum. neden deserialization başarısız üzerinde
foreach(RootObject r in response2.Data)
{
lblGoToWebinar.Text += r.webinarKey.ToString() + ", ";
}
Herhangi bir fikir: Amacım sonuçları yineleme yapmak için bir foreach döngü kullanmak mümkün olmaktır?
şimdiden teşekkür ederiz! @ Agarcian önerisine dayanarak
Ham değerin ne olduğunu görmek için 'response2' nesnesine hata ayıklayıp bakabilir misiniz? Hata ayıklayıcısında bir hata olup olmadığını görmelisiniz. – agarcian
Teşekkür ederim @agarcian! Önerilerinize dayanarak bazı iç hataları aramaya başladım ve aşağıda cevabımda görüldüğü gibi anladım. –
işe yaradığı için memnunum !!! – agarcian