2012-06-16 86 views
1

最近我正在使用dailymotion視頻API。但我不知道如何將返回的數據轉換爲我的ASP.NET C#應用程序。從Dailymotion獲取視頻數據

GET

https://api.dailymotion.com/videos?search=fun&page=3 

結果

{ "page": 1, 
    "limit": 2, 
    "total": 218248, 
    "has_more": true, 
    "list": [ 
     { "id": "xrk9mi", 
     "title": "Priyanka & Shahid Kapoor get MOBBED in local train", 
     "channel": "fun", 
     "owner": "xlw7uu" 
     }, 
    { "id": "xrk8fy", 
     "title": "What's Up With Gaga?: Hit On Head, Perfume Bottle Leaked, Thai Fans Angry", 
     "channel": "music", 
     "owner": "xofeoz" } 
    ] 
} 

回答

2

你將宣佈一個與你在說什麼回相匹配類,讓我們把它分解成幾部分,首先是外部類的聲明:

public class DailyMotionVideo { 
    public int page {get;set;} 
    public int limit {get;set;} 
    public int total {get;set;} 
    public bool has_more {get;set;} 
    public XXX[] list {get;set;} 
} 

所以我會這樣做與XXX需要是一個單獨的類型,所以我們可以使一個AR他們的射線:

public class DailyMotionVideoInternalList { 
    public string id {get;set;} 
    public string title {get;set;} 
    public string channel {get;set;} 
    public string owner {get;set;} 
} 

這需要我們回去,把這個名字到我們的第一個聲明:

public class DailyMotionVideo { 
    public int page {get;set;} 
    public int limit {get;set;} 
    public int total {get;set;} 
    public bool has_more {get;set;} 
    public DailyMotionVideoInternalList[] list {get;set;} 
} 

public class DailyMotionVideoInternalList { 
    public string id {get;set;} 
    public string title {get;set;} 
    public string channel {get;set;} 
    public string owner {get;set;} 
} 

然後你就可以通過許多方法接收的對象轉換成此對象,取決於您正在使用哪個.NET版本。

既然你已經有了它作爲一個字符串,我會承擔串被稱爲「結果」:

DailyMotionVideo videoList = 
      new JavaScriptSerializer().Deserialize<DailyMotionVideo>(result); 
+1

非常感謝您!你讓我今天一整天都感覺很好。 – My2ndLovE

+0

另一個問題,如何將videoList綁定到中繼器? – My2ndLovE

+0

哪個,DailyMotionVideo(哪個不是列表)或DailyMotionVideoList?無論如何,假設中繼器被命名爲'rpt',它將是'rpt.DataSource = videoList; rpt.DataBind();' – jcolebrand