Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/70.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 从Dailymotion获取视频数据_C#_Asp.net_Json - Fatal编程技术网

C# 从Dailymotion获取视频数据

C# 从Dailymotion获取视频数据,c#,asp.net,json,C#,Asp.net,Json,最近我正在使用dailymotion视频API。但是,我不知道如何将返回的数据转换为我的ASP.NET C#应用程序 得到 结果 { "page": 1, "limit": 2, "total": 218248, "has_more": true, "list": [ { "id": "xrk9mi", "title": "Priyanka & Shahid Kapoor get MOBBED in local train",

最近我正在使用dailymotion视频API。但是,我不知道如何将返回的数据转换为我的ASP.NET C#应用程序

得到

结果

{ "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" }
     ]
}

您将声明一个与您要返回的内容匹配的类,让我们将其分解为多个部分,从外部类声明开始:

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做同样的处理,它需要是一个单独的类型,以便我们可以制作它们的数组:

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版本

既然您已经将其作为字符串,我将假设该字符串称为“result”:

DailyMotionVideo视频列表=
新的JavaScriptSerializer()。反序列化(结果);

非常感谢!你让我开心。另一个问题,如何将视频列表绑定到中继器?哪一个,DailyMotionVideo(不是列表)还是DailyMotionVideoList?无论如何,假设中继器名为
rpt
,则它将是
rpt.DataSource=videoList;rpt.DataBind()
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;}
}
DailyMotionVideo videoList = 
           new JavaScriptSerializer().Deserialize<DailyMotionVideo>(result);